python 判断token是否有效,若失效,重新发起token请求
场景:
1、对一个接口,进行接口自动化测试,查找的是有权限操作的用例,传入到获取token接口,生成token,判断当前是否有token,如果存在token,则无需再次发起token接口;
存在的问题:
1、对于可以在token有效期,即两个小时内,可以跑完的用例,不会出现token失效的情况,如果用例较多,不能保证是否能在两个小时跑完,就会出现token失效,导致用例失败的情况
针对这个问题,做了token有效性的判断:
1、获取token的时候,可以获取到当前的时间,以及token返回的有效时间,获取到token的同时,取token接口返回的

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请求的更多相关文章
- python判断字符串
python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...
- python 判断连个 Path 是否是相同的文件夹
python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...
- Python判断列表是否已排序的各种方法及其性能分析
目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...
- python 判断变量是否存在 防止报错
Python判断变量是否存在 方法一:使用try: ... except NameError: .... try: var except NameError: var_exists = False e ...
- python 判断是否为中文
python在执行代码过程是不知道这个字符是什么意思的.是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言. 也就是在计算机中所有的字符都是有数字来表示的.汉字也是有 ...
- (转)python 判断数据类型
原文:https://blog.csdn.net/mydriverc2/article/details/78687269 Python 判断数据类型有type和isinstance 基本区别在于: t ...
- python判断字符串是否为空的方法s.strip()=='' if not s.strip():
python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='': print 's is null' 或者 if not s.strip(): p ...
- python 判断字符串中是否只有中文字符
python 判断字符串中是否只有中文字符 学习了:https://segmentfault.com/q/1010000007898150 def is_all_zh(s): for c in s: ...
- Python判断字符串编码以及编码的转换
转自:http://www.cnblogs.com/zhanhg/p/4392089.html Python判断字符串编码以及编码的转换 判断字符串编码: 使用 chardet 可以很方便的实现字符串 ...
随机推荐
- [Mobi] frida Hook 略知一二: frida-CLI, frida-server
Frida 是一款基于 python + javascript 的 hook 框架,主流平台都支持,由于是基于脚本的交互,因此相比 xposed 和 substrace cydia 更加便捷. 使用时 ...
- 七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
前言 上一章节我们引入BootstrapBlazor UI组件完成了EasySQLite后台界面的基本架子的搭建,本章节的主要内容是Blazor班级管理页面编写和接口对接. 七天.NET 8 操作 S ...
- 通俗易懂的KMP理论讲解(含手求Next数组)
通俗易懂的KMP理论讲解(含手求Next数组) 1.KMP算法介绍 KMP算法的核心是利用匹配失败后的信息,通过一个 next 数组,保存模式串中前后最长公共子序列的长度,尽量减少模式串与主串的匹配次 ...
- 抛砖系列之文本处理工具-awk
AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母 ...
- MacOS Endnote修改引用样式和文献序号样式方法
目录 1. 打开Endnote的Style Manager 2. 修改文献序号样式"1."" -> [1]" 3. 修改引用样式为上标形式 1. 打开En ...
- ruby操作excel
操作xlsx axlsx插件 操作xls spreadsheet插件
- python Requests 库的使用
目录 1. 介绍 2. 安装 3. 基本请求 3.1 get请求 3.2 post请求 3.3 自定义请求头部 3.4 设置超时时间 3.5 代理访问 3.6 session自动保存cookies 3 ...
- LVS负载均衡(4)-- LVS FWM防火墙标记
防火墙标记的作用是:借助于防火墙标记来分类报文,然后基于标记定义集群服务:可将多个不同的应用使用同一个集群服务进行调度. 实现方法: 在Director主机打标记,作用在mangle表的PREROUT ...
- C数据结构:哈夫曼树算法实现与应用
学习哈夫曼树(编码) 带权二叉树 认识WPL 最优二叉树 构造哈夫曼树的过程 哈夫曼树的应用 建立哈夫曼树 代码如下: 结构体代码部分 建立操作代码 找到最小结点(※难点) 附上建立哈夫曼树源代码 带 ...
- .NET6 Minimal API 集成Autofac
前提 集成Autofac前需要先添加两个依赖包 可以通过 NuGet 进行安装,使用以下命令: dotnet add package Autofac dotnet add package Autofa ...