美文网首页接口自动化测试接口测试
HttpRunner--自定义输出报告

HttpRunner--自定义输出报告

作者: sandy测试路 | 来源:发表于2019-02-15 15:22 被阅读0次

    httprunner

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

    • httprunner版本:2.0.5,jinja2版本:2.10
    • httprunner输出的html测试报告:默认的模板文件的路劲为 httprunner/templates/report_template.html(使用的是jinja2的格式),可在report.py中的render_html_report方法中找到
    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 %}
    改动如图

    执行命令

    # 使用默认的 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--自定义输出报告

        本文链接:https://www.haomeiwen.com/subject/zbzpeqtx.html