应用场景 在我们做UI自动化时,往往在用例执行失败时通过设定的log来进行错误分析,来优化代码或者确定问题,测试报告也默认只有log的展示。如果我们在用例执行失败时能进行当前页面的截图,并且将截图直接呈现在测试报告中的话,是不是可以帮助我们更直观的定位到问题呢? 实现方式 同样是在conftest.py中进行配置: # 定义...
大家首先应该理解了conftest.py的作用域问题了吧,登陆中的conftest是属于login包下的,无法作用到外面来,而最外面的conftest是父包下的,可以作用域任何一个子包下不存在对应固件对象的情况下调用。 那么问题来了,我们前面将所有的代码都声明在父包下,我们应该将get_login的固件对象声明在Login包下的,如果声明在父包...
可以通过为标题和行实施自定义挂钩来修改报告的列。下面的示例conftest.py添加了一个带有测试函数 docstring 的 description 列,添加了一个可排序的时间列,并删除了 links 列: fromdatetimeimportdatetimefrompy.xmlimporthtmlimportpytestdefpytest_html_results_table_header(cells): cells.insert(2, html.th("Descript...
# conftest.pydefpytest_html_results_table_row(report,cells):""" 修改表格属性用例状态(不区分大小写):passed、skipped、failed、error、xfailed、xpassed、rerun"""ifreport.passed:delcells[:] 根据用例执行结果指定日志输出 # conftest.pydefpytest_html_results_table_html(report,data):# 通过的用例,指定日...
要添加这些插件和配置,我们需要修改pytest配置文件(通常是一个名为conftest.py的文件)。在配置文件中,我们可以添加以下代码来启用这些插件和配置: 添加pytest-benchmark插件:pytest_plugins = 'benchmark' 添加pytest-faulthandler插件:pytest_plugins = 'faulthandler' 配置pytest-benchmark插件的执行时间测量:benchmark_...
在conftest.py中增加如下代码: def pytest_html_results_table_row(report, cells): if report.passed: del cells[:] 1. 2. 3. 钩子函数pytest_html_results_table_html修改日志输出和其他HTML 在conftest.py中增加如下代码: from py.xml import html def pytest_html_results_table_html(report, data): if...
pytest-HTML 是一个插件,pytest 用于生成测试结果的 HTML 报告。 生成报告 先简单写个例子生成报告看看。 生成报告效果如下 此次主要是针对 Environment 和 Results 两部分进行修改配置,让列表部分展示的数据更清晰,增加和删减列数据。 修改报告 这里先介绍下 conftest.py 文件,主要作用如下: ...
要展示的内容、增加用例描述、去掉多余的列等等。这里需要将优化代码写入conftest.py文件,该文件名是固 定的不可更改。 导入引用包 importpytestfrompy._xmlgenimporthtmlfromdatetimeimportdatetime AI代码助手复制代码 修改测试环境 @pytest.mark.parametrizedefpytest_configure(config): ...
在conftest.py文件中添加钩子函数,如pytest_collection_modifyitems,对测试用例的名称和节点ID进行编码转换,以解决中文乱码问题。 如果以上方法都无法解决问题,可以尝试更新pytest和pytest_html插件到最新版本,或者检查其他相关环境配置是否正确。另外,确保在编写测试用例时使用的编码方式与报告中使用的编码方式一致,也可以避免...
二、设置conftest.py文件内容,进一步优化测试报告内容 2.1 全局生效的conftest.py文件 from time import strftime from py._xmlgen import html import pytest import sys,os sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))) from...