废话不多说,有小伙伴公司在用的过程发现了一些紧急问题,所以这里插播一下修复代码:
问题1:
用例模块,接口请求时,项目公共请求头header就会报错:
我们看看这个报错信息,它说的是run_case.py的82行:
这里出现bug的原因是,如果没有勾选任何公共请求头,那么这个ts_project_headers 就是[""] ,里面有个空字符的元素,然后这个空字符去数据库搜索对应的请求头内容的时候,搜不到报错。
这里我们只需要判断一下即可:
再试试,就成功了
问题2:
后一个大用例的报告会显示前一个大用例里面的接口。
如图:
我创建了俩个大用例,第一个里面有接口 A-1 和 A-2,第二用例只有一个 B-1
然后我们先运行第一个大用例得到报告:
这看着没问题,然后我们再运行第二个大用例,得到报告:
可以看到,第一个大用例的接口 跑到了第二个大用例的 报告里。这个问题的原因经过排查,是因为第二次运行时,没有初始化我们run_cases.py的那个测试大类Test导致,俩次用例运行前,我都打印类一下类Test的子方法,赫然发现 第二次运行时候,Test已经具备类第一个大用例的test_001和test_002方法。
所以我们这里的处理也很简单:
我的解决思路有俩种:
1。在每个用例运行前,都检查一下该Test类,把其中的不属于原始状态的方法即 test_开头的 都删除即可。
2。 在每次用例运行之后,都好好的打扫干净,把自己添加过的test_方法都删除。
这俩种思路,第二种是有风险的,因为如果用例执行过程中意外错误,那么就会导致无法触发清扫收尾的代码,就会影响下一次运行。所以我选择第一种方法。
在这个位置写上 清理方法代码:
测试:先运行第一个大用例,然后运行第二个大用例,发现问题解决!