httprunner
因为近一年一直在做接口测试,所以选了httprunner框架做接口自动化
- httprunner版本:2.0.5,jinja2版本:2.10
- httprunner输出的html测试报告:默认的模板文件的路劲为 httprunner/templates/report_template.html(使用的是jinja2的格式),可在report.py中的render_html_report方法中找到
- jinja2介绍:
from jinja2 import Template
template = Template('Test {{ hello }} {{ name}}')
template.render(hello='Hello', name='World!') # 返回: Test Hello World!
template.render({"hello": "Hello", "name": "World!"}) # 效果同上
修改默认输出报告
前提:httprunner默认输出的报告中包含所有测试用例的执行状态,而且无法直接筛选失败的测试用例,所以当测试用例很多时,想要找到执行失败的用例会比较麻烦
目的:只输出执行失败的用例文件
具体方法:
- 复制原report_template.html,将其中一个命名为report_fail_only.html
- 修改report_fail_only.html模板文件
- jinja2的判断语句为:{% if %}和{% endif %}
执行命令
# 使用默认的 report_template.html
hrun testcases/login.yaml
# 使用自定义的模板,可以指定相对路径或绝对路径
hrun testcases/login.yaml --report-template=templates/report_fail_only.html
# 控制台打印日志类型为debug(输出详细的请求),默认为INFO
hrun testcases/login.yaml --log-level=debug
# 将login.yaml对应的logs输出:x.loaded.json, x.parsed.json, x.summary.json
hrun testcases/login.yaml --save-tests
- httprunner命令运行底层:运行hrun.exe命令--->运行cli.py文件的main_hrun()--->调用api.py文件中的HttpRunner类的run方法--->执行api.py中的run_tests()----》调用loader.py,report.py中的相关方法,加载测试用例,执行用例,以及生成报告。
网友评论