“ 运用Python的Unittest、数据驱动测试(DDT)、Excel、Jinja2和HTML技术,构建一个能够自动生成精美可视化测试报告的自动化测试框架**”**
思路流程
-
封装读取数据,让所有数据都能够再excel中填写,不再填写任何一行逻辑代码
-
通过unittest框架的discover()找到匹配的测试用例,由HTMLTestRunner的run()方法执行测试用例并生成最新的测试报告。
-
集成TestResult,增加一些获取数据逻辑,将数据封存输出,结合jinja2模板引擎,生成报告
-
将报告路径及收集的结果参数传给发送邮件,钉钉通知,企业微信通知的方法,再run用例结束后,自动发送数据到所需的位置
-
这里不展开对具体每一步得详细介绍,直接结果导向开始讲解。
1. 数据驱动测试(DDT):以数据为驱动的智慧
为了匹配框架使用,重新写了类似ddt的装饰器,结合用例名称生成测试函数名称,这样就兼容了unittest的框架特性。核心代码:
def list_data(datas):