目录:导读
前言
解决自动化数据依赖方案
1、前置函数,设置成类属性。
2、业务流测试用例,通过执行顺序,保存所需的数据依赖,写到类属性
3、实现业务流的完全数据驱动,ddt测试用例实际时,可以增加一列
在用例数据中添加一列 extract 表示提取响应数据并保存在对应的类属性中,规则如下:
[{
"name":"id","exp":"$..id"},{
"name":"token","exp":"$..token"}]
数据库断言后调用此方法
import jsonpath
def extract_data(self):
"""
提取响应中的数据并保存到用例类属性中
:return:
"""
if self.case.get('extract'):
for item in json.loads(self.case['extract']):
name = item['name']
exp = item['exp']
res = jsonpath.jsonpath(self.response.json(), exp)
if res:
setattr(self.__class__, name, res[0])
else:
raise ValueError(f'用例【{
self.case[title]}】提取表达{
exp}式错误'
4、session会话技术
会话对象可以跨请求保持某些参数。它也会在同一个session实例发出的所有请求之间保持cookie。
import requests
s = requests.session()
login_url = ''
data = {
"email":