需求:
当脚本太多后,测试结果在控制台查看就不方便了,也需要更方便阅读。而HTML是最佳方案。 在pytest众多插件中pytest -html提供了生成html报文格式的能力
本节包含:
1.pytest-html的下载
2.pytest的使用:
2.1.基本使用方式pytest --html=***,***代表文件路径,执行命令后,就会在指定路径下生成html测试报告文件;以及如何解决中文乱码问题
2.2.使用--self-contained-html选项,合并assets样式表文件到html测试报告文件中。减少文件个数
2.3.利用钩子函数pytest-html-report-title改写测试报告的文件名
2.4.用在python文件中运行测试用例时,也可以使用选项生成html报告
正文:
1.pytest-html下载:
pip install -i Simple Index pytest-html

2.1 pytest-html的基本使用
2.1使用pytest命令执行时,使用html=***表明此次执行测试用例后要生成的HTML的测试报告路径(路径包括目录+文件名)。
。企业的项目工程,一般会规范的在独立report文件夹下存放所有的测试报告文件
。在命令行中输入:pytest --html=report\SampleReport.html .\testcase\ 执行后生成html报告文件:

下面是详细的执行过程:
执行命令,指定测试报告指定的路径

查看生成的测试报告文件

右键以网页方式打开html报告

下面是打开的结果,发现有中文乱码,是编码问题
解决编码问题:找到pytest-html/pytest-report文件,指定utf8编码

再次执行测试命令,打开发现不再乱码

2.2.使用--self-contained-html选项
可以看到生成的文件包含SampleReport.html和assets样式表文件。只有这2个文件在同一个文件夹下,样式表才会生效,让页面美观。
但是2个文件传输不方便,这时可以用--self-contained-html选项合并文件。
下面是合并前后的对比:
合并前:包含assets样式表


加入选项并执行:pytest --html=report\SampleReport.html --self-contained-html .\testcase\
合并后:assets样式表被合并到html文件中了


2.3.使用钩子函数hook改写测试报告的title
在conftest.py文件中,除了可以定义公用的固件函数外,还可以定义一些各种pytest插件的钩子(hook)函数
pytest-html插件定义了一个钩子函数:pytest-html-report-title
在这个函数中,可以给生成的测试函数的标题赋值
举例:


2.4.在python文件中启动测试,也可以使用选项,使用方式如下图,在列表中添加选项即可

直接右键run即可
本节很简单,随便看一看~~
利用pytest-html生成HTML测试报告与解决编码问题
本文介绍了如何使用pytest-html插件创建便于阅读的HTML测试报告,包括基本安装与使用、解决中文乱码问题、自包含HTML选项以及利用hook函数修改报告标题。还展示了在Python文件中运行测试时集成该插件的方法。
982

被折叠的 条评论
为什么被折叠?



