• 接口测试框架httprunner使用自定义extentreports报告模板遇到的问题小结


    前置条件:

    httprunner版本:HttpRunner 3.0.1

    python版本:3.8

    运行环境:Mac

    一、很多文章里面都说http runner包里面自带了自定义的报告模板,但是这个版本没有,于是网上下载了自定义的extentreports报告模板

    运行加参数: --report-template reports/template/extent-theme-template_new.html
    报错: jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'meta_data'

    解决方案:出现问题的原因是不同版本的httprunner,运行case的结果汇总的数据结构有些不同,需根据实际版本情况进行调整

    1.先根据httprunner对外提供的运行用例的接口runner.run(),查看testcase运行的结果汇总的数据结构

    from httprunner.api import HttpRunner

    def print_summary_result(path_or_tests):

    runner = HttpRunner(
    failfast=True,
    save_tests=True,
    log_level="INFO",
    log_file="test.log"
    )
    summary = runner.run(path_or_tests)
    return summary
    2.根据运行的结果汇总的数据结构,修过extentreports报告模板的取值数据的字段信息,我遇到的情况是打印出来的结果的结构跟模板中的字段取值结构不同

    二、报告中无法加载css和js
    解决方案:下载对应的css和js文件到本地,然后在模板中引用
    1.在https://github.com/anshooarora/extentreports-java/tree/master/dist下,下载
    对应的css和js文件到本地,放到项目中的指定目录下,如

    2.修过自定义的模板文件,修过如下

  • 相关阅读:
    替换内容里面的图片
    mysql字符串拼接
    判断字符串中中是否有手机号
    验证身份证号码的真伪
    m端访问pc端 让跳到对应m端
    百度编辑器实现页面关闭再次打开内容处在已编辑状态
    如何实现 antd table 自动调整可视高度(纵向滚动条,scrollY)
    Flink 1.12.1 NoClassDefFoundError SourceFunction
    Java8 常用时间转换工具类
    Jenkins脚本清理构建历史
  • 原文地址:https://www.cnblogs.com/sunshine2017/p/12832735.html
Copyright © 2020-2023  润新知