httprunner--自定义输出报告

httprunner

因为近一年一直在做接口测试,所以选了httprunner框架做接口自动化

  • httprunner版本:2.0.5,jinja2版本:2.10
  • httprunner输出的html测试报告:默认的模板文件的路劲为 httprunner/templates/report_template.html(使用的是jinja2的格式),可在report.py中的render_html_report方法中找到
httprunner--自定义输出报告_第1张图片
report.py源码分析
  • 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默认输出的报告中包含所有测试用例的执行状态,而且无法直接筛选失败的测试用例,所以当测试用例很多时,想要找到执行失败的用例会比较麻烦

目的:只输出执行失败的用例文件

具体方法:

  1. 复制原report_template.html,将其中一个命名为report_fail_only.html
  2. 修改report_fail_only.html模板文件
  • jinja2的判断语句为:{% if %}和{% endif %}
httprunner--自定义输出报告_第2张图片
改动如图

执行命令

# 使用默认的 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中的相关方法,加载测试用例,执行用例,以及生成报告。

你可能感兴趣的:(httprunner--自定义输出报告)