• 【pytest学习10】pytest报告,html,allure


    每个自动化测试结果都要有一份详细的测试报告来呈现,今天测试报告来了,pytest常用的测试报告有几种,比如在pycharm中直接生成报告,通过HTML插件生成,或者还有最常用的allure。今天安静主要介绍通过pytest的插件pytest-html来生成测试报告

    pytest-html

    pytest-html属于pytest第三方插件,使用时,需要进行安装。

    安装: pip install pytest-html 

    源码:https://github.com/pytest-dev/pytest-html

    复制代码
    import pytest
    
    class Test01():
    
        def test_01(self):
            print('
    ---用例01---')
    
        def test_02(self):
            print('
    ---用例02---')
    
        def test_03(self):
            print('
    ---用例03---')
    
    if __name__ == '__main__':
        pytest.main(['-vs'])
    复制代码

    生成报告执行命令: pytest --html=report.html 。通过下图的代码可以发现已经生成了html内容还给出了相应的报告地址

    打开报告,呈现出这样的HTML。看起来和unittest的报告其实差不多的。 

    执行报告路径

    如果在PO模式下通常都会把报告内容放到对应的report目录下,生成路径时候,我们也可以在参数中加入报告路径 pytest -vs --html=./report/report.html 

    执行完代码后就会发现,在当前目录下已经生成了一个report文件夹,测试报告也已经存放在报告中了。

    报告独立

    细心的小伙伴们,自己在本地执行完分享出去,分享报告的时候样式会丢失,因为通过上述方法保存的HTML会的CSS会在本地,可以通过下面命令,将CSS写入到HTML中

    命令: pytest --html=report.html --self-contained-html 通过执行后,再生成的文件就可以进行分享了

    汉化报告

    上面的报告会发现是英文的,有一些领导不喜欢英文,就喜欢看汉字,那怎么办?只能解决了,这里安静在网上找到了别人修改好的。

    github地址:https://github.com/13691579846/pytest-html

    找到后下载源代码,将pytest-html放到python的第三方库目录(PythonLibsite-packages)下。如果安装过pytest-html直接替换即可。

    然后在进行执行代码,查看测试报告,就会发现已经变成汉化版本了

     

     

    pytest+allure

    一、安装allure-pytest

    pip install allure-pytest
     

    二、安装Command Tool

    1.进入allure官网下载其Windows的命令工具
    2.解压压缩包,把其./bin/下的路径添加到Windows环境变量PATH中

    三、简介

    简单介绍下allure库的特性:

    • @allure.feature # 用于定义被测试的功能,被测产品的需求点
    • @allure.story # 用于定义被测功能的用户场景,即子功能点
    • @allure.step # 用于定义被测功能的操作步骤
    • @allure.attach # 用于向测试报告中输入附加的信息或附件
    • @allure.severity # 用于标记测试用例的严重等级
      (PS:后续会根据日常需要不断补充)

    四、初尝

    import pytest
    
    
    @allure.feature('这是一个测试')
    def test_al():
        print('hello world')
        assert 1 > 2
    
    
    if __name__ == '__main__':
        pytest.main(['-s', '-q', '--alluredir', './report/xml'])

    运行命令生成allure数据集合,有两种方法:

    • pytest.main(['-s', '-q', '--alluredir', './report/xml'])
    • cmd下执行==>
    pytest 测试目标文件 --alluredir 数据目录
    

    -q 的意思是减少报告多余
    --alluredir 的意思是生成allure报告的数据的目标目录,即测试目录

    运行后的结果,是生成xml的数据集合


     
     
    image.png

    然后需要生成Allure报告,在cmd下运行==>

    allure generate --clean ./report/xml/ -o ./results/html/
    

    (第一个是数据集目录,第二个是生成报告目录)即可生成很好看的报告!


     
     



    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    python mysql and ORM
    mysql-8.0.12-winx64 解压版安装(转)
    mysql装完计算机管理里面没mysql服务怎么解决(转)
    Python使用MySQL数据库(新)(转)
    Python之路,Day9
    python随笔2(列表的增删改查)
    python随笔1
    2018-05-23——PYTHON第三天
    2018-05-22——PYTHON第二天
    2018-05-21——python第一天
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/14819866.html
Copyright © 2020-2023  润新知