【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

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

class Test01():

    def test_01(self):
        print('\n---用例01---')

    def test_02(self):
        print('\n---用例02---')

    def test_03(self):
        print('\n---用例03---')

if __name__ == '__main__':
    pytest.main(['-vs'])
【pytest学习10】pytest报告,html,allure

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

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

打开报告,呈现出这样的HTML。看起来和unittest的报告其实差不多的。 【pytest学习10】pytest报告,html,allure

执行报告路径

如果在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的第三方库目录(\Python\Lib\site-packages)下。如果安装过pytest-html直接替换即可。

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

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

 

 

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/

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


   


 

上一篇:VNCTF notsudoku


下一篇:【Redis 开发与运维】开发运维的“陷阱”