pytest生成各种形式的测试报告

前面讲到使用pytest执行单个、多个或指定的测试用例。接下来讲解下通过运行测试用例,怎么来生成不同格式的测试报告

首先,创建test_calss.py 测试用例文件,这里以测试该文件为例

#coding:utf-8

class TestClass():

    def test_one(self):

        x = "this"

        assert "h" in x

    def test_two(self):

        x = "hello"

        assert x == "hi"

    def test_three(self):

        x = "world"

        assert x != "worl"

一、生成ResultLog文件

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --resultlog=./log.txt  (其中./log.txt为生成log的路径,也可写成py.test test_class.py --resultlog=E:/log.txt)。并早当前路径下生成log.txt文件,打开文件,内容如下

执行结果1

二、生成JunitXML文件

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py  --junitxml=./log.xml  (其中./log.xml为生成log的路径,也可写成py.test test_class.py  --junitxml=E:/log.xml)。并在当前路径下生成log.xml文件,打开文件,内容如下

执行结果2

三、创建测试用例的URL

1.在CMD中切换到该测试用例路径下,执行指令:py.test test_class.py --pastehbin=all  会在最后一行生成一个网址

执行结果3-1

2.把网址(https://bpaste.net/show/5e60a2096e54)复制到浏览器打开可以看到测试用例执行的全部结果

执行结果3-2

3.指定显示测试结果为FAIL,输入指令:py.test test_class.py  --pastebin=failed

执行结果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为生成log的路径,也可写成py.test test_class.py --html=E:/report.html)。并在当前路径下生成report.html文件,打开文件,内容如下

执行结果4-1

3.双击打开生成的report.html文档,可以看到如下效果

执行结果4-2

其中,红色框框内的选项可以自行选择是否显示。



作者:keitwo
链接:https://www.jianshu.com/p/8fa34a3c82bd
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pyQT和pytest可以结合使用来进行自动化测试。pyQT是一个用于创建图形用户界面的Python库,而pytest是一个用于编写和运行测试的Python框架。 结合pyQT和pytest进行自动化测试的步骤如下: 1. 安装pyQT和pytest库: ```shell pip install pyqt5 pytest ``` 2. 创建一个pyQT应用程序,并在其中添加需要测试的界面元素和功能。 3. 使用pytest编写测试用例,测试pyQT应用程序的各个功能和界面元素。可以使用pytest的各种插件来增强测试功能,例如pytest-html插件可以生成漂亮的测试报告pytest-xdist插件可以实现并行测试等。 4. 运行pytest测试: ```shell pytest ``` pytest会自动搜索当前目录及其子目录中的测试文件,并执行其中的测试用例。测试结果会以详细的报告形式显示在终端上。 以下是一个示例的pytest测试用例: ```python import pytest from PyQt5.QtWidgets import QApplication, QPushButton @pytest.fixture def app(): app = QApplication([]) yield app app.quit() def test_button_click(app): button = QPushButton("Click me") button.click() assert button.text() == "Clicked" def test_button_disabled(app): button = QPushButton("Disabled") button.setEnabled(False) assert not button.isEnabled() ``` 运行pytest命令后,pytest会自动执行这两个测试用例,并输出测试结果。 注意:在编写测试用例时,可以使用pyQT提供的测试工具和方法来模拟用户交互和界面操作,例如使用QTest类来模拟按钮点击、文本输入等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值