python篇-pytest+allure测试报告(图文详解)

本文详细介绍了如何安装Allure框架,配置环境变量,安装allure-pytest插件,执行自动化测试并生成Allure报告,以及查看报告的方法和QA过程中遇到的问题及解决方案。还列举了Allure常用的注解用法。
摘要由CSDN通过智能技术生成
1、安装allure

下载地址:Releases · allure-framework/allure2 · GitHub

 解压后,运行 allure.bat,会弹出一个黑框一闪而过(闪的太快,没有截到图~~)

2、配置环境变量

allure安装路径: C:\D\soft\allure-2.26.0\bin path中

cmd中输入allure,allure --version,查看环境变量是否配置成功

3、下载allure-pytest插件

下载 pip install allure-pytest
查看 pip show allure-pytest

4、执行自动化用例,生成allure报告所需文件

执行用例,并指定生成allure报告路径,命令如下:

pytest Test_demo02.py -s -q --alluredir=./result

  • alluredir 指定存放allure报告的路径

如图,生成两个文件夹:pytest_cache/result

result文件夹中三个json文件,对应用例中的三条case。

5、查看报告方式两种

方式一:可以通过allure解析json文件,使用命令查看报告
allure serve ./result (指定result文件夹路径)
会自动打开浏览器,展示allure报告

方式二:通过结果生成报告

d ./result/ -o ./report/ --clean (覆盖路径加–clean)

打开报告

allure open -h 127.0.0.1 -p 8883 ./report/

6、QA-allure serve ./result/报错的解决思路

pycharm的终端输入:allure serve ./result/

allure报错:‘allure‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

解决思路:

  1. 没有下载allure,只是安装了allure-pytest插件
  2. 安装allure后,检查是否配置allure的环境变量到path
  3. 配置环境变量后,需要重启pycharm,可能是环境变量没有同步过来导致。
  4. 关闭防火墙开关。

7、allure常用注解

实例如下

import allure
import pytest
from allure_commons.types import LinkType, Severity


@allure.parent_suite('我是parent_suite')
@allure.suite('我是suite')
@allure.sub_suite('我是sub_suite')
@allure.epic('我是epic')
@allure.feature('我是feature')
@allure.story('我是story')
class TestAllureDemo:

    @allure.step('我是断言')
    def assert_one(self, a, b):
        assert a == b

    @allure.id('我是id')
    @allure.title('我是title')
    @allure.link('https://www.baidu.com/', LinkType.ISSUE, '我是link_ISSUE')
    @allure.label('我是label')
    @allure.issue('https://www.baidu.com/', '我是issue')
    @allure.description('我是description')
    @allure.severity(Severity.BLOCKER)
    @allure.tag('我是tag')
    @allure.testcase('https://www.baidu.com/', 'testcase')
    def test_01(self):
        self.assert_one(1, 1)


    @allure.id('我是id')
    @allure.title('我是title')
    @allure.link('https://www.baidu.com/', LinkType.LINK, '我是link')
    @allure.label('我是label')
    @allure.issue('https://www.baidu.com/', '我是issue')
    @allure.description('我是description')
    @allure.severity('我是severity')
    @allure.tag('我是tag')
    @allure.testcase('https://www.baidu.com/', '我是testcase')
    def test_02(self):
        allure.dynamic.mro()
        allure.dynamic.title('我是修改后的title')
        allure.dynamic.link('https://www.baidu.com/', LinkType.LINK, '我是修改后的link')
        allure.dynamic.label('我是修改后的label')
        allure.dynamic.issue('https://www.baidu.com/', '我是修改后的issue')
        allure.dynamic.description('我是修改后的description')
        allure.dynamic.severity('我是修改后的severity')
        allure.dynamic.tag('我是修改后的tag')
        allure.dynamic.testcase('https://www.baidu.com/', '我是修改后的testcase')
        assert 1 > 1

生成的报告如下

case1: test_01

 case2: test_02

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值