解决自动化数据依赖方案
-
前置函数,设置成类属性。
-
业务流测试用例,通过执行顺序,保存所需的数据依赖,写到类属性
-
实现业务流的完全数据驱动,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}式错误'
-
-
session会话技术
会话对象可以跨请求保持某些参数。它也会在同一个session实例发出的所有请求之间保持cookie。
import requests s = requests.session() login_url = '' data = {"email":"账号","password":"密码","remember":0} # 登录 res = s.post(url=login_url, data=data) res.text courses_url = '' # 获取课程列表 res = s.get(courses_url) res.json()
拓展session和cookie区别
- cookie数据存放在客户的浏览器(客户端)上,session数据放在服务器上,但是服务端的session的实现对客户端的cookie有依赖关系的;
- cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session;
- session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE;
- 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K;
本文作者:ck_winkie
本文链接:https://www.cnblogs.com/zz-winkie/p/16528997.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步