unittest+ddt+htmltestrunner中解析每个用例报告名称
背景:在接口测试中,使用unittest和HTMLTestRunner生成报告,表格里面具体的报告名称是在function中加注释实现的。这种只能针对小部分用例,如果用例使用Excel管理,就会存在几十、上百的用例,这样可以通过ddt来处理,但是用例注释没办法带入到表格里面具体用例的名称。
办法:
有些是在ddt上改源码来实现。这边是修改HTMLTestRunner.py文件来实现的。
这个执行的模板入口实在这里面开始的。
这里面生成报告的,可以在generateReport里面查看具体信息
调用_generate_report方法
这才是unittest的结果遍历,这时候把我们自己的读取Excel操作的类导入HTMLTestRunner.py源文件中。在for方法里面遍历
cname就是你读取文件OpenExcel获取的用例名称,设置Excel里面第一列为用例名称。tid+1是从第二行开始读取。
原来的desc注释掉,直接使用cname就行
这样生成的报告就显示具体的用例名称了。一个项目的接口这边设计在Excel第一页管理用例。如果实现多个Excel里面执行的话。我觉得在runAll.py的入口HTMLTestRunner方法里面将Excel参数传递进去,应该可行。