zoukankan      html  css  js  c++  java
  • Pytest之重运行及生成测试报告

    以下主要介绍Pytest的重运行及生成测试报告。

    重运行

    在做UI自动化,如Selenuim或者Appium时,遇到某些元素未能及时显示,导致点击失败,如果加上重跑,那么将有效提高报告的准确性。

    在Pytest中,可以使用pytest-rerunfailures用来失败用例重跑。

     

    安装pytest-rerunfailures

    安装命令:

    pip install pytest-rerunfailures

    使用说明

    @pytest.mark.flaky(reruns=重试次数, reruns_delay=次数之间的延时设置(单位:秒))

    举个栗子
    重试次数test_demo.py

    import pytest
    @pytest.mark.flaky(reruns=2)
    def test_demo():
        assert 3 == 4

    运行结果为:
    图片
    指定重运行等待时间:

    import pytest
    @pytest.mark.flaky(reruns=2,reruns_delay=2)
    def test_demo():
        assert 3 == 4

    运行结果为:图片

    生成测试报告

    pytest-html生成报告

    pytest使用pytest-html插件生成测试报告。 

    ① 安装pytest-html

    安装命令:

     pip install pytest-html

    ② 举个栗子

    现有用例如下:

    test_demo.py

    import pytest
    
    @pytest.mark.flaky(reruns=2,reruns_delay=2)
    def test_demo():
        assert 3 == 4

    test_demo1.py

    class TestDemo:
        def test_demo01(self):
            print("这是test_demo01")
        def test_demo02(self):
            print("这是test_demo02")

    命令行输入:pytest --html=report.html

    运行之后,会生成report.html,用浏览器打开report.html,如下:

    图片

    allure生成报告

    用pytest-html生成的报告稍微简单和丑了一点,我们可以使用更强大的工具allure,allure测试报告框架帮助你轻松实现"高大上"报告展示。

    01 安装allure

    ①从github上下载allure,下载传送门为:

    https://github.com/allure-framework/allure2/releases

     

    如下所示,选择”Download“下载即可:

    图片

    ② 下载完后,解压到项目根目录下。

    图片

    ③ 安装allure插件

    安装命令:

    pip install allure-pytest

    ④ 添加环境变量:将allure-2.13.5in的目录路径添加到环境变量。

     

    02 举个栗子

    ① 现有用例如下:

    test_demo.py

    import pytest
    
    @pytest.mark.flaky(reruns=2,reruns_delay=2)
    def test_demo():
        assert 3 == 4
    

     

    test_demo1.py

    class TestDemo:
        def test_demo01(self):
            print("这是test_demo01")
        def test_demo02(self):
            print("这是test_demo02")

    ② 在项目根目录下新建目录report。

    图片

    ③ 在命令行输入:pytest -s -q --alluredir ./report,在report目录下会生成一些json格式的。

    图片

    ④ 在report目录下,新建目录html,用于存放html报告。

     

    ⑤ 命令行输入allure generate ./report -o ./report/html,生成了最终的html报告。

    图片

    ⑥用浏览器打开index.html文件,效果如下:

    图片

     

     

  • 相关阅读:
    AJAX中所谓的异步
    前端性能优化方案
    文字超出隐藏
    创建值的两种方式及其区别
    单例模式
    自定义数据属性
    时间字符串的处理
    日期函数及时钟案例
    很low的四位验证码实现
    使用Ajax发送http请求(get&post请求)--转载
  • 原文地址:https://www.cnblogs.com/chenyablog/p/15171817.html
Copyright © 2011-2022 走看看