首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使pytest-html单个html报告结果文件的所有行都默认为折叠状态?

要使pytest-html单个html报告结果文件的所有行都默认为折叠状态,可以通过自定义pytest插件来实现。下面是一个实现的示例:

  1. 创建一个pytest插件文件,例如pytest_custom_plugin.py
  2. 在插件文件中导入必要的模块和函数:
代码语言:python
代码运行次数:0
复制
import pytest
from _pytest.config import Config
from _pytest.reports import TestReport
from _pytest.terminal import TerminalReporter
  1. 定义一个自定义的pytest插件类,继承自pytest.Plugin
代码语言:python
代码运行次数:0
复制
class CustomPlugin(pytest.Plugin):
    def __init__(self):
        super().__init__()
        self.terminal_reporter = None

    def pytest_configure(self, config: Config):
        self.terminal_reporter = config.pluginmanager.getplugin("terminalreporter")

    def pytest_html_report_title(self, report: TestReport):
        if self.terminal_reporter:
            self.terminal_reporter.write_line("Generating HTML report...")

    def pytest_html_results_table_header(self, cells):
        cells.insert(1, html.th("Details", class_="sortable", col="details"))

    def pytest_html_results_table_row(self, report: TestReport, cells):
        cells.insert(1, html.td(report.longreprtext, class_="col-details"))

    def pytest_html_results_table_cell(self, report: TestReport, cell):
        if cell.get("class") == "col-details":
            cell["colspan"] = str(len(cell.parent.contents) - 1)

    def pytest_html_report_table_row(self, report: TestReport, cells):
        if report.passed:
            cells.insert(1, html.td("Passed", class_="col-result"))
        elif report.failed:
            cells.insert(1, html.td("Failed", class_="col-result"))
        elif report.skipped:
            cells.insert(1, html.td("Skipped", class_="col-result"))
        elif report.error:
            cells.insert(1, html.td("Error", class_="col-result"))
        else:
            cells.insert(1, html.td("Unknown", class_="col-result"))

    def pytest_html_report_table_cell(self, report: TestReport, cell):
        if cell.get("class") == "col-result":
            cell["colspan"] = str(len(cell.parent.contents) - 1)
  1. 在插件文件的末尾添加以下代码,注册插件:
代码语言:python
代码运行次数:0
复制
def pytest_html_report_title(report):
    return "Custom HTML Report"

def pytest_configure(config):
    config.pluginmanager.register(CustomPlugin())
  1. 运行pytest时,使用--html=<报告文件路径>参数生成HTML报告,例如:
代码语言:bash
复制
pytest --html=report.html

生成的HTML报告中,所有行都将默认为折叠状态。

请注意,以上示例是一个简单的实现,仅供参考。根据具体需求,你可能需要进一步调整和完善插件的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

pytest文档7-生成html报告

前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告。...2.执行完之后,在当前目录会生成一个report.html的报告文件,显示效果如下 ?...指定报告路径 1.直接执行”pytest —html=report.html”生成的报告会在当前脚本的同一路径,如果想指定报告的存放位置,放到当前脚本的同一目录下的report文件夹里 pytest —.../report/report.html ? 2.如果想指定执行某个.py文件用例或者某个文件夹里面的所有用例,需加个参数。具体规则参考【pytest文档2-用例运行规则】 ?...显示选项 默认情况下,“ 结果”表中的所有行都将被展开,但具测试通过的行除外Passed。 可以使用查询参数自定义此行为:?collapsed=Passed,XFailed,Skipped。

1.3K30

pytest学习和使用16-HTML报告如何生成?(pytest-html)

1 插件介绍 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告; 这个插件需要进行安装。.../report/report.html 图片 4 合并css 从生成的报告可以看出,除了report.html外,还有个文件style.css; 这个文件是报告的样式,是独立的,那么我们分享报告的时候,...报告中的行显示设置 默认生成功的报告中的所有行都是被展开的,如图: 图片 我们可以自定义显示的样式: ?...报告标题 默认情况下,报告标题将是报告的文件名; 您可以使用pytest_html_report_title钩子对其进行编辑: def pytest_html_report_title(report)...以下示例从报告中删除所有传递的结果: def pytest_html_results_table_row(report, cells): if report.passed: del

1.4K40
  • 代码质量保证-单元测试框架pytest

    pytest-selenium(集成selenium)、 pytest-html(完美html测试报告生成)、 pytest-rerunfailures(失败case重复执行)、 pytest-xdist...示例: pytest测试报告 使用 -r 参数:可用于在测试会话结束时显示“简短测试摘要信息”,使大型测试套件中的所有故障、跳过、xfails等的清晰图像变得容易。...以下是可用字符的完整列表: f -失败 E -误差 s -跳过 x -失败 X -XPASS p -通过 P -通过输出 a - all except pP A -所有 上面测试用例的测试结果为: 使用...使用第三方插件pytest-html : 可用于在测试会话结束时生成html格式报告文件 执行: pytest test_pytest.py --html=result.html html报告需要安装...pytest-html: pip install -U pytest-html 生成JUnitXml格式报告: 该格式方便与CI服务器进行集成 执行: pytest test_pytest.py

    80720

    07 Pytest的测试报告

    Pytest的报告输出方式 JunitXml格式的报告文件:pytest --junitxml=path resultlog文本格式的报告文件:pytest --resultlog=path(不常用,预计在...4.0移除) url格式的报告文件,为每个用例或指定用例生成一个url:pytest --pastebin=all,只输出失败的,可以将all换为failed 第三方插件:pytest-html Pytest...查看结果:输出信息和控制台中的traceback一样,只是保存在了服务器上,看起来还是比较乱 urlreport.png 4、pytest-html第三方插件生成的测试报告 秉持拿来主义的精神...so,安装pytest-html: python -m pip install pytest-html 4.2.pytest-html的使用 pytest-html顾名思义,生成的报告格式为html...、Summary、Results; 1)、在html报告中会有报告生成日期及采用的pytest-html版本; 2)、Environment:记录了运行的环境信息; 3)、Summary:描述了运行用例数

    1.4K60

    python+pytest单元测试框架之生成各种格式测试报告

    前面讲到使用pytest执行单个、多个或指定的测试用例。...接下来讲解下通过运行测试用例,怎么来生成不同格式的测试报告 首先,创建test_calss.py 测试用例文件,这里以测试该文件为例 #coding:utf-8 class TestClass():...执行结果3-3 四、生成HTML测试报告 1.要想生成html格式的测试报告,首先的下载安装pytest-html插件,执行如下指令:pip install pytest-html 如下图 ?...安装pytest-html插件 2.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --html=./report.html (其中....并在当前路径下生成report.html文件,打开文件,内容如下 ? 执行结果4-1 3.双击打开生成的report.html文档,可以看到如下效果 ?

    2K20

    Pytest的简单应用

    pytest-html(生成html格式的测试报告) pytest-rerunfailures(失败case重复执行) pytest-xdist(多CPU分发) 二、Pytest安装 1、在IDE中安装...3、验证安装结果 三、Pytest实例 运行实例 运行原则:在不指定运行目录,运行文件,运行函数等参数的默认情况下,pytest会执行当前目录下的所有以test为前缀(test.py)或以_test为后缀...(test.py)的文件中以test为前缀的函数 pytest会找当前以及递归查找子文件夹下面所有的test*.py或*test.py的文件,把其当作测试文件 在这些文件里,pytest会收集下面的一些函数或方法...测试报告 1、调用pytest.main(),来组织要执行的用例 2、通过设定参数,来指定测试报告的格式,文件名,路径(默认为测试脚本所在目录) 3、运行pytest01.py 程序会自动执行testpytest01....py testpytest01.py test_pytest01.py 中的测试类和测试函数 并将测试执行的结果,写入指定的测试报告中 4、生成测试报告 包含成功和失败的测试用例执行结果,默认全部展示

    67620

    测试报告范文_苹果11怎么结束运行的程序

    前言 受益于pytest的集成,HttpRunner v3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告 内置html报告 pytest-html...当你运行测试用例想生成html报告时,可以在命令行中添加--html 安装Httprunner时,pytest-html插件也会随之安装,当运行测试用例的时候,想生成html形式的报告,可以在命令行中添加...--html + 报告路径 $ hrun /path/to/testcase --html=report.html 举例:在当前目录执行testcases下的所有用例,并在当前目录下的report目录下...报告,查看报告内容 如果想创建一个独立的、更加方便共享测试结果的html报告(通俗的说:该目录只有html报告,没有css样式),可以在命令行中添加--self-contained-html...文件夹(如果存在) --allure-no-capture:不要将pytest捕获的日志记录/ stdout / stderr附加到报告中 要使Allure侦听器能够在测试执行期间收集结果,只需添加–

    56230

    Pytest的简单应用

    pytest-html(生成html格式的测试报告) pytest-rerunfailures(失败case重复执行) pytest-xdist(多CPU分发) 二、Pytest安装 1、在IDE中安装...2、使用命令进行安装 pip install -U pytest pip install -U pytest-html pip install -U pytest-rerunfailures 3、验证安装结果...三、Pytest实例 运行实例 运行原则:在不指定运行目录,运行文件,运行函数等参数的默认情况下,pytest会执行当前目录下的所有以test为前缀(test.py)或以_test为后缀(test.py...)的文件中以test为前缀的函数 pytest会找当前以及递归查找子文件夹下面所有的test*.py或*test.py的文件,把其当作测试文件 在这些文件里,pytest会收集下面的一些函数或方法,当作测试用例...四、Pytest生成HTML测试报告 1、调用pytest.main(),来组织要执行的用例 2、通过设定参数,来指定测试报告的格式,文件名,路径(默认为测试脚本所在目录) 3、运行pytest01.py

    75920

    Python的pytest模块

    、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html...如何编写pytest测试样例通过上面2个实例,我们发现编写pytest测试样例非常简单,只需要按照下面的规则:测试文件以test_开头(以_test结尾也可以)测试类以Test开头,并且不能带有 init...在介绍之前需要提醒一句,运行pytest时会找当前目录及其子目录中的所有test_*.py 或 *_test.py格式的文件以及以test开头的方法或者class,不然就会提示找不到可以运行的case了...1.运行后生成测试报告(htmlReport)安装pytest-html:pip install -U pytest-html运行模式:pytest --html=report.html报告效果:?...在以上报告中可以清晰的看到测试结果和错误原因,定位问题很容易。2.运行指定的case  当我们写了较多的cases时,如果每次都要全部运行一遍,无疑是很浪费时间的,通过指定case来运行就很方便了。

    1.2K20

    测试报告范文_数据处理测试

    前言 受益于pytest的集成,HttpRunner v3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告 内置html报告 pytest-html...当你运行测试用例想生成html报告时,可以在命令行中添加--html 安装Httprunner时,pytest-html插件也会随之安装,当运行测试用例的时候,想生成html形式的报告,可以在命令行中添加...--html + 报告路径 $ hrun /path/to/testcase --html=report.html 举例:在当前目录执行testcases下的所有用例,并在当前目录下的report目录下...报告,查看报告内容 如果想创建一个独立的、更加方便共享测试结果的html报告(通俗的说:该目录只有html报告,没有css样式),可以在命令行中添加--self-contained-html...文件夹(如果存在) --allure-no-capture:不要将pytest捕获的日志记录/ stdout / stderr附加到报告中 要使Allure侦听器能够在测试执行期间收集结果,只需添加–

    40420

    用量子计算模拟器ProjectQ生成随机数,并用pytest进行单元测试与覆盖率测试,以及基于flake8的编码规范测试

    区别在于,即使我们不改变量子比特的状态,不同的测试却会给出不同的结果,而0.5等中间状态,则表示的是出现0或者1状态分别的概率。 ?...pytest初始化配置文件 在上一节的测试结果中,我们发现有非常多的测试告警。...pytest生成html格式报告 为了更好的展现测试的结果,这里我们需要先安装一个组件pytest-html: [dechin@dechin-manjaro pytest]$ python3 -m pip...pytest覆盖率测试 在一个python仓库中我们有可能有非常多的函数、类和文件等,为了保障结果的准确性,我们需要能够给出一个可信的覆盖率测试的结论,只有当覆盖率达到100%时,我们才能认为测试工作已经比较全面的考虑.../test* 这个配置的意义在于,将当前目录下,所有以test开头的文件,都将会忽略python编码规范的检查,配置文件支持通配符的表达形式。

    2.6K30

    Python测试框架之pytest详解

    如何获取帮助信息 查看 pytest 版本 pytest --version 显示可用的内置函数参数 pytest --fixtures 通过命令行查看帮助信息及配置文件选项 pytest --help...开头,以.py结尾的所有文件 -可自定义 配置测试搜索的测试类名 python_classes = Test_* #当前目录下的scripts文件夹下,以test开头,以.py结尾的所有文件中...= test_* 4.2 Pytest测试报告 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告。...兼容Python 2.7,3.6 安装方式:pip install pytest-html pip install pytest-html 通过命令行方式,生成xml/html格式的测试报告,存储于用户指定路径.../report.xml 2.命令行进入Test_App目录 3.执行命令: pytest 执行结果: 1.在当前目录会生成assets文件夹和report.html文件 5.pytest的高阶用法

    2.3K20

    基础测试框架之pytest和unittest之间新手如何选择?

    在上篇Pytest基础指南之介绍、环境及安装我们已经初步的介绍了Pytest的概念、环境安装及特色,在本文中,我们将介绍如何利用Pytest来兼容基于unittest所编写的测试代码。...unittest是Python所提供的标准的单元测试框架,而Pytest则是基于unittest所研发出来的更好用的、更易用的测试框架,并且Pytest几乎兼容了unittest的所有特性。...下面通过一张表的对比来具体看下二则的一些简单的区别: unittest测试框架 Pytest测试框架 测试文件 可以任意命名测试文件 必须以test_开头或_test结尾命名 测试类 必须继承unittest.TestCase...即可,例如assert 1==2 参数化 本质上unittest原生并不提供参数化能力 pytest原生提供了参数化的能力,即pytest.mark.parametrize装饰器 报告 原生并未提供html...报告生成能力 提供了pytest-html插件来生成html报告 当然了,第三方有提供了一些能力来支持、扩展unittest的能力,但就其企业级的应用来讲,是远远不足的。

    60610

    如何使用Python进行单元测试

    在本例中,我使用它创建FizzBuzz类的实例。 要运行单元测试,我们需要一个测试运行器。 测试运行器 测试运行程序是执行所有单元测试并报告结果的程序。...到我写这篇文章的时候,已经有将近900个插件了。例如,pytest-html和pytest-sugar。...pytest-html pytest- HTML是pytest的插件,它为测试结果生成HTML报告。当您在构建服务器上运行单元测试时,这非常有用。...coverage run -m pytest coverage html 第一个生成覆盖率数据。第二个命令将数据转换为HTML报告。Coverage将报告存储在文件系统的htmlcov文件夹中。...它应该将结果存储在htmlcov中。而不是为所有文件生成覆盖率报告,我告诉覆盖率只使用alarm.py。 ? ·END·

    2.8K20

    Pytest+Allure+Jenkins持续集成实战

    它不关心测试如何执行,只统计测试过程中哪几个阶段是最慢的,展示最慢的N个阶段,耗时越长越靠前。如果指定duration=0,将所有阶段按耗时从长到短排序后显示。...fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中的数据集,配置测试前系统的初始状态,为批量测试提供数据源等。...4.6 pytest-html Pytest-html对持续集成或长时间执行的测试非常有用。它可以为pytest测试生产一个现实测试结果的网页。...这个HTML报告可以对测试结果(通过,跳过,失败,错误,预期失败,预期失败但通过)进行筛选,还可以按测试名称,持续时间,结果状态来排序。 HTML报告还可以定制一些元素,如截图,输出信息。...Pip install -U pytest-html安装插件 Pytest 用例绝对路径 --html=html报告文件的绝对路径 五:Allure(漂亮的测试报告) Allure框架是一个灵活的轻量级多语言测试报告工具

    78320
    领券