python接口自动化系列(10):保存全局变量
本系列汇总,请查看这里
如果后续有请求依赖本次请求的响应结果,那么把依赖数据保存到全局变量,比如token jsonpath用于解析json数据 pip install jsonpath global_variable_tool.py添加方法,用于保存依赖数据 http请求前定义res http请求后添加保存全局变量逻辑: 先看下测试数据: 运行结果中可以看到,token保存并替换成功,依赖token的接口请求也成功了 实现目标
安装模块

修改工具类
def setVar(self,key,value):
'''添加全局变量'''
self.globalVars[key] = value
logger.info(f"当前全局变量:{self.globalVars}")
def save_global_variable(self, globalVariable, res):
'''保存被依赖数据到全局变量中'''
import jsonpath
for globalv in globalVariable.split(";"):
g = globalv.strip()
if g:
key = g.split('=')[0].strip()
value_expr = g.split('=')[1].strip()
# print("key:", key)
# print("value_expr:", value_expr)
logger.info(f"key={key}, value_expr={value_expr}")
value = jsonpath.jsonpath(json.loads(res),value_expr)[0] # 返回列表,取第一个
self.setVar(key,value)
# 打印当前所有全局变量
logger.info("当前所有全局变量:{}".format(self.getVars() ))
修改测试类
res = None
globalVariables = casedata["globalVariables"]
# logger.info(">>>>>globalVariables:{}".format(globalVariables))
# 如果有需要被后续请求用的变量数据
if globalVariables:
gv.save_global_variable(globalVariables, res.text)
运行结果



__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!