问题:每次跑用例时,请求 4 的时候返回都是提示 ‘token 已过期,请重新登陆!’
看了这些用例最终请求的参数 token 都是一致的,所以很疑惑问题到底在哪里,刚刚接触,请大佬们指点迷津。
谢谢各位提供的思路,已经解决了,是 conftest.py 文件中获取并 token 的时候登录过一次,用例 1 又登录了一遍导致 token 失效了
分两种情况去看:
试试每次执行用例时,只跑 1 和 4,2 和 3 先别跑
1.token 用户权限不够 2.用户与运行环境根本就不是同一套 3.720 天的时效!应该就不会出现过期问题,但既然报错了,你可以拿登录响应的 token 手动调用接口 4 试试,也拿运行前存储的 token 试一试,确定下非 yaml 文件替换顺序问题
应该是你跑接口 4 时拿到的 token 不是最新的,而是上一次的,那为啥是上一次的呢,检查下你取 token 的逻辑,和 123 用例存储 token 的逻辑是不是又漏洞。猜测是这样。
会不会是这四个接口都是单独实例化的,每个用例的 headers 不互通。建议创建一个 BaseApi 类,定义类属性 headers 和实例方法 set_headers 来修改每个不同接口的 header 值,所有接口都继承这个类,1 接口登录之后调用 set_headers 修改类属性 headers 的 token 键,4 接口实例化时就可以直接用这个 headers
是的早上看了各位佬发的各种角度来排查问题,然后想了想可能是我在前置的时候已经登录获取过了一次,然后用例 1 又获取了一次导致失效了!