如何用pytest生成allure报告

  1. 安装pytest
    pytest是python的一个第三方单元测试框架,在这里用于生成原始的执行结果。
    命令行或者终端中输入 pip install pytest 即可进行安装。

  1. 安装allure-pytest
    allure-pytest是python的一个第三方库。用于连接pytest和allure,使它们可以配合在一起使用。
    allure-pytest基于pytest的原始执行结果生成适用于allure的json格式结果。该json格式结果可以用于后续适用allure生成html结果。
    命令行或者终端中输入 pip install allure-pytest 即可进行安装。

  1. 安装allure
    这个工具主要用来把测试用例的运行结果转换成html格式
    可以去GitHub上下载:https://github.com/allure-fra...
    在这里插入图片描述
    如何用pytest生成allure报告_第1张图片
    如何用pytest生成allure报告_第2张图片
    下载后解压,把bin目录添加至path环境变量
    如何用pytest生成allure报告_第3张图片

    代码演示

    代码如下,test_allure_demo.py

     # encoding: utf-8 
     """
     @File    : test_allure_demo.py
     @Author  : 灵枢
     @Time    : 2020/4/13 5:05 PM
     @Desc    :  
     """
     import allure
     
     @allure.step("步骤1:打开百度")
     def step_1():
     print("111")
     
     @allure.step("步骤2:输入关键字")
     def step_2():
     print("222")
     
     @allure.feature("搜索")
     class TestEditPage():
     @allure.story("百度搜索")
     def test_1(self):
     '''这是测试百度搜索'''
     step_1()
     step_2()
     print("百度一下,你就知道")
     
     @allure.story("谷歌搜索")
     def test_2(self):
     '''这是测试谷歌搜索'''
     assert 1 == 2, "搜索失败"
    

在PyCharm的Terminal窗口运行:
先切换到测试代码的目录下,然后执行命令:

pytest test_allure_demo.py --alluredir ./report
  1. 生成报告
    a. 打开终端terminal,切到测试文件所在目录。
    b. 生成json格式运行结果

    运行命令 pytest --alluredir=report

    命令中的 --alluredir=report 指明了生成的json结果文件存放的目录为当前目录下的report文件夹
    基于pytest捕捉到的测试用例,每个用例的执行结果会生成一个json文件。如下图所示:

    c. 使用allure生成最终的测试报告

     运行命令 allure generate report。

    这个命令会将 report 文件夹下的json文件渲染成网页结果,方便观看。生成的网页结果默认保存在当前文件夹下的 allure-report 文件夹内。


  1. 打开生成的网页报告
    allure-report 文件夹,这里的 index.html 就是最终的结果页面。但直接通过浏览器打开这个文件是看不到实际内容的,这是因为实际内容需要 allure 进行渲染后才能看到。直接打开index.html,浏览器窗口如下图所示:
    如何用pytest生成allure报告_第4张图片

想要看到实际内容,需要使用allure内置的命令。allure使用了两种方式来渲染页面。分别是allure open 和 allure serve。前者用于在本地渲染和查看结果,后者用于在本地渲染后对外展示结果。这里我们使用allure open。运行命令 allure open allure-report即可自动打开浏览器展示渲染好的结果。这里的allure-report为allure generate生成的结果所在目录。
如何用pytest生成allure报告_第5张图片

你可能感兴趣的:(python)