场景:

1、对一个接口,进行接口自动化测试,查找的是有权限操作的用例,传入到获取token接口,生成token,判断当前是否有token,如果存在token,则无需再次发起token接口;

存在的问题:

1、对于可以在token有效期,即两个小时内,可以跑完的用例,不会出现token失效的情况,如果用例较多,不能保证是否能在两个小时跑完,就会出现token失效,导致用例失败的情况

针对这个问题,做了token有效性的判断:

1、获取token的时候,可以获取到当前的时间,以及token返回的有效时间,获取到token的同时,取token接口返回的

expires_in时间

2、使用 成功获取到token的时间 + expires_in= 得到token失效的时间,再和接口使用到token的当前时间比较,如果当前时间< token失效的时间,即判断token有效,无需重新发起token接口,否则,重新发起,生成token接口

3、结合类的属性,将成功获取token的时间,保存到类的属性值里面

    def token_is_effictive(self, type="memu", module=None):
'''
【判断当前token是否有效】会判断是否有token的有效时间,若无,则调起生成token接口,若有,则和当前时间比较,若大于token有效时间,则重新获取token
:param type: 查询用户的类型
:param module: 具体的菜单
:return:
'''
# com_obj.login_token_effective_time = 1651129017 调试将有效时间改成过期
now_time = int(time.time())
if not hasattr(com_obj, "login_token_effective_time"):
self.token_is_exist(type=type, module=module)
else:
# 判断当前时间是否大于token的有效时间
if now_time > com_obj.login_token_effective_time:
delattr(com_obj, "token") # 如果token过期,将过期的token值删掉,重新调起token方法
self.token_is_exist(type=type, module=module)
else:
logger.info("{0}_当前token有效".format(communFun.get_function_name()))

python 判断token是否有效,若失效,重新发起token请求的更多相关文章

  1. python判断字符串

    python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...

  2. 【Python备忘】python判断文件和文件夹是否存在

    python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...

  3. python 判断连个 Path 是否是相同的文件夹

    python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...

  4. Python判断列表是否已排序的各种方法及其性能分析

    目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...

  5. python 判断变量是否存在 防止报错

    Python判断变量是否存在 方法一:使用try: ... except NameError: .... try: var except NameError: var_exists = False e ...

  6. python 判断是否为中文

    python在执行代码过程是不知道这个字符是什么意思的.是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言. 也就是在计算机中所有的字符都是有数字来表示的.汉字也是有 ...

  7. (转)python 判断数据类型

    原文:https://blog.csdn.net/mydriverc2/article/details/78687269 Python 判断数据类型有type和isinstance 基本区别在于: t ...

  8. python判断字符串是否为空的方法s.strip()=='' if not s.strip():

    python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='':     print 's is null' 或者 if not s.strip():     p ...

  9. python 判断字符串中是否只有中文字符

    python 判断字符串中是否只有中文字符 学习了:https://segmentfault.com/q/1010000007898150 def is_all_zh(s): for c in s: ...

  10. Python判断字符串编码以及编码的转换

    转自:http://www.cnblogs.com/zhanhg/p/4392089.html Python判断字符串编码以及编码的转换 判断字符串编码: 使用 chardet 可以很方便的实现字符串 ...

随机推荐

  1. [Mobi] frida Hook 略知一二: frida-CLI, frida-server

    Frida 是一款基于 python + javascript 的 hook 框架,主流平台都支持,由于是基于脚本的交互,因此相比 xposed 和 substrace cydia 更加便捷. 使用时 ...

  2. 七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接

    前言 上一章节我们引入BootstrapBlazor UI组件完成了EasySQLite后台界面的基本架子的搭建,本章节的主要内容是Blazor班级管理页面编写和接口对接. 七天.NET 8 操作 S ...

  3. 通俗易懂的KMP理论讲解(含手求Next数组)

    通俗易懂的KMP理论讲解(含手求Next数组) 1.KMP算法介绍 KMP算法的核心是利用匹配失败后的信息,通过一个 next 数组,保存模式串中前后最长公共子序列的长度,尽量减少模式串与主串的匹配次 ...

  4. 抛砖系列之文本处理工具-awk

    AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母 ...

  5. MacOS Endnote修改引用样式和文献序号样式方法

    目录 1. 打开Endnote的Style Manager 2. 修改文献序号样式"1."" -> [1]" 3. 修改引用样式为上标形式 1. 打开En ...

  6. ruby操作excel

    操作xlsx axlsx插件 操作xls spreadsheet插件

  7. python Requests 库的使用

    目录 1. 介绍 2. 安装 3. 基本请求 3.1 get请求 3.2 post请求 3.3 自定义请求头部 3.4 设置超时时间 3.5 代理访问 3.6 session自动保存cookies 3 ...

  8. LVS负载均衡(4)-- LVS FWM防火墙标记

    防火墙标记的作用是:借助于防火墙标记来分类报文,然后基于标记定义集群服务:可将多个不同的应用使用同一个集群服务进行调度. 实现方法: 在Director主机打标记,作用在mangle表的PREROUT ...

  9. C数据结构:哈夫曼树算法实现与应用

    学习哈夫曼树(编码) 带权二叉树 认识WPL 最优二叉树 构造哈夫曼树的过程 哈夫曼树的应用 建立哈夫曼树 代码如下: 结构体代码部分 建立操作代码 找到最小结点(※难点) 附上建立哈夫曼树源代码 带 ...

  10. .NET6 Minimal API 集成Autofac

    前提 集成Autofac前需要先添加两个依赖包 可以通过 NuGet 进行安装,使用以下命令: dotnet add package Autofac dotnet add package Autofa ...