我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pytest生成HTML测试报告及优化的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pytest生成HTML测试报告及优化的方法

这篇文章主要介绍了Pytest生成HTML测试报告及优化的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pytest生成HTML测试报告及优化的方法文章都会有所收获,下面我们一起来看看吧。

    一、安装插件

      要生成html类型的报告,需要使用pytest-html插件,可以在IDE中安装,也可以在命令行中安装。插件安装

    的位置涉及到不同项目的使用,这里不再详述,想了解的可自行查询。

    IDE中安装

      在File>Settings>Project>Project Interpreter界面,点击“ + ”搜索pytest-html即可进行安装。

    Pytest生成HTML测试报告及优化的方法

    命令行安装

      建议先在命令行中切换到python安装路径“ Lib\site-packages ”目录,再执行安装命令。

    pip install -U pytest-html

    二、生成html报告

    先准备一个简单的执行脚本

    import pytestdef fun(x):    return x + 1def test_answer_1():    """测试断言一"""    assert fun(3) == 4def test_answer_2():    """测试断言二"""    assert fun(5) == 7@pytest.mark.parametrize("test_input,expected",[    ("3+5",8),    ("2+4",6),    pytest.param("6 * 9",42,marks=pytest.mark.xfail),    pytest.param("6 * 6",42,marks=pytest.mark.skip)])def test_mark(test_input,expected):    """用例集合"""    assert eval(test_input) == expectedif __name__ == '__main__':    pytest.main(['-v','--html=report.html','test_08.py'])

    生成报告命令pytest --html=报告名称 要执行的脚本文件 ,执行上述脚本查看结果。

    Pytest生成HTML测试报告及优化的方法

    report.html:报告名称,记录报告生成时间以及插件版本

    Environment:测试环境

    Summary:用例统计

    Results:测试结果,点击Show all details / Hide all details可以展开结果详情或收缩全部结果

    三、使用小技巧

    指定路径

      通过上述命令运行脚本后可以发现,测试报告保存在项目的根目录下,查找报告比较繁琐。我们可以

    在运行命令中指定报告路径pytest -v --html=./outputs/report.html test_08.py,代码执行完成,

    可以发现项目根目录下生成了outputs文件,测试报告也在其中。

    报告独立

      当本地执行完成,想把测试报告分享出去,却发现分享出去的报告打开后样式丢失。因为代码执行完成

    会生成assets文件,将CSS保存在了本地。我们可以通过命令将CSS写入HTML中,这样生成的测试报告就能

    对外分享了。

    pytest -v --html=./outputs/report.html --self-contained-html test_08.py

    四、报告优化

      在实际的工作中,通过上述操作生成的测试报告一般不是我们想要的结果。环境信息通过增减更换成需

    要展示的内容、增加用例描述、去掉多余的列等等。这里需要将优化代码写入conftest.py文件,该文件名是固

    定的不可更改。

    导入引用包

    import pytestfrom py._xmlgen import htmlfrom datetime import datetime

    修改测试环境

    @pytest.mark.parametrizedef pytest_configure(config):    config._metadata.pop("JAVA_HOME") # 删除java_home    config._metadata["项目名称"] = "引擎自动化" # 添加项目名称    config._metadata["接口地址"] = "https://www.example.com/poke" # 添加接口地址

    修改用例统计

    @pytest.mark.parametrizedef pytest_html_results_summary(prefix,summary,postfix):    prefix.extend([html.p("所属部门:测试组")])    prefix.extend([html.p("测试人员:许卫玲")])

    修改结果显示

    @pytest.mark.optionalhookdef pytest_html_results_table_header(cells):    cells.insert(1,html.th("Description")) # 表头添加Description    cells.insert(2,html.th("Time",class_="sortable time",col="time"))    cells.pop(-1) # 删除link@pytest.mark.optionalhookdef pytest_html_results_table_row(report,cells):    cells.insert(1,html.td(report.description)) # 表头对应的内容    cells.insert(2,html.td(datetime.now(),class_="col-time"))    cells.pop(-1) # 删除link@pytest.mark.hookwrapperdef pytest_runtest_makereport(item,call): # Description取值为用例说明__doc__    outcome = yield    report = outcome.get_result()    report.description = str(item.function.__doc__)    report.nodeid = report.nodeid.encode("utf-8").decode("unicode_escape")

    修改完成,重新执行脚本,查看最终效果。

    Pytest生成HTML测试报告及优化的方法

    关于“Pytest生成HTML测试报告及优化的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Pytest生成HTML测试报告及优化的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Pytest生成HTML测试报告及优化的方法

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Pytest生成HTML测试报告及优化的方法

    这篇文章主要介绍了Pytest生成HTML测试报告及优化的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pytest生成HTML测试报告及优化的方法文章都会有所收获,下面我们一起来看看吧。一、安装插件  要
    2023-06-29

    GitLab的自动测试和自动化测试报告生成方法

    GitLab的自动测试和自动化测试报告生成方法,需要具体代码示例随着软件开发项目的不断增加,测试变得越来越重要,而自动化测试成为了一种必不可少的手段。GitLab作为一个流行的代码托管平台,提供了许多工具和功能来支持自动测试和自动化测试报告
    2023-10-22

    sqlserver索引优化及测试的方法是什么

    SQLServer索引优化通过优化索引,可以大幅提高SQLServer查询性能。优化涉及识别需要索引的列、选择合适的索引类型、创建和维护索引,以及通过查询计划分析、基准测试和性能监视进行持续监控。此外,覆盖索引、索引筛选、索引交错和索引分区等其他优化技巧可以进一步提升索引效率。
    sqlserver索引优化及测试的方法是什么
    2024-04-12

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录