Pytest-Allure及Allure命令使用

一、Allure介绍

Allure是Pytest用于生成测试报告的框架,提供丰富的测试报告功能;

二、Allure安装

Allure安装分为2块,分别是pytest-Allure库安装,本地生成报告并导出的命令行allure安装;

1、pytest-Allure库安装

pip install allure-pytest

2、allure命令行工具安装

(1)安装jdk依赖(如果已安装则可忽略)

  • 下载路径:下载路径
    Pytest-Allure及Allure命令使用_第1张图片
  • 安装成功后,添加环境变量
    Pytest-Allure及Allure命令使用_第2张图片
  • 测试安装成功:命令行输入Java
    Pytest-Allure及Allure命令使用_第3张图片
    (2)下载allure命令行工具:https://github.com/allure-framework/allure2/releases
    Pytest-Allure及Allure命令使用_第4张图片
    (3)下载zip到本地,解压到某个目录,添加bin目录到环境变量
    Pytest-Allure及Allure命令使用_第5张图片
    (4)环境变量添加成功后,测试是否成功
    allure --version,如果添加成功,则会出版本;如果添加失败,则提示“allure是未知命令”
    Pytest-Allure及Allure命令使用_第6张图片

三、Pytest-Allure相关方法

@allure.epic():用于类级别
@allure.feature():用于类级别
     
    以下是测试用例级别:
    @allure.severity('normal')
    @allure.story('故事1:获取天气数据')
    @allure.title('获取单个城市的天气')
    @allure.description('获取深圳的天气')
    @allure.testcase('测试用例地址:www.***.com')
    @allure.issue('缺陷管理地址:https://www.zentao.net/')
    @allure.tag('这是tag')

Pytest-Allure及Allure命令使用_第7张图片

四、Allure生成和导出报告

1、Allure生成报告

在生成报告的过程中,用的是pytest-alliure,pytest-allure在用例执行过程中,监听执行结果并记录下来

# 在运行测试用例时,--alluredir指定生成目录
pytest --alluredir=reports
或者
pytest.main(["testcases/Android/advertise", '--alluredir=allure-results'])

2、Allure命令行导出报告

allure导出并打开报告,有2种方式,一是使用allure generate +open、二是使用allure server,如下
方式一、allure open allure-report
(1)导出报告使用的是allure命令行

# XXX为--alluredir指定生成的目录
# 导出报告到当前XXX目录下,会自动生成一个allure-report文件夹
# 注意XXX使用绝对路径,比如:D:\QAantoTest\XX\allure-results
allure generate XXX

# 使用-o/--report-dir/--output导出allure-report到对应的XXX2文件夹
# XXX为--alluredir指定生成的目录,使用绝对路径,同上面
allure generate XXX -o XXX2

# 如果已有导出的allure-report,则需要使用-c/--clean选项
allure generate XXX --clean
或者
allure generate XXX -c
或者
allure generate XXX -o XXX2 --clean
或者
allure generate XXX -o XXX2 -clean

(2)打开报告到浏览器

# 打开XXX3下的报告到浏览器
# XXX3是生成allure-report的目录,使用绝对路径
allure open XXX3

方式二、allure serve

# 打开 allure 报告
# XXX为--alluredir指定生成的目录,使用绝对路径
allure serve XXX

区别
(1)方式一会先导出allure-report,可以直接打开目录下的index_html文件;方式二将allure测试报告的原始数据(xml/json/text/attach等文件)直接在浏览器打开allure测试报告,而不在本地生成任何文件。
(2)方式二虽然不会在本地生成任何文件,但看bash输出,是会先创建temp临时文件导出allure-report,再直接打开,两者无本质区别。

五、allure报告详解

Overview:整体数据显示,用例数目,通过率、suites测试集信息、feature模块
Pytest-Allure及Allure命令使用_第8张图片
Categories:“类别”选项卡提供了创建自定义缺陷分类、应用测试结果的方法,可以查看具体的错误输出
Pytest-Allure及Allure命令使用_第9张图片
Suites:用例集合,按照套件(testcases.Android.advertise)和类分组,已执行测试的结构展示,也可查看每个用例的信息
Pytest-Allure及Allure命令使用_第10张图片
Graphs:用图表显示测试数据中收集的不同统计数据,状态分解或严重性和持续时间图
Pytest-Allure及Allure命令使用_第11张图片
Timeline:时间轴选项卡可视化测试执行的回顾,allure适配器收集测试的精确时间
Behaviors:对于场景驱动,此选项卡根据Epic、Feature和Story标记对测试结果进行分组。
Pytest-Allure及Allure命令使用_第12张图片
Packages:按不同的包名分组,有多个模块的测试用例时,使用更清晰

六、allure命令行详解

1、查看Allure帮助文档

allure -h

2、allure命令行格式

allure [options] [command] [command options]

Options:
–help 命令行帮助文档
-q, --quiet 切换至安静模式 Default: false
-v, --verbose 切换至冗长模式 Default: false
–version 版本信息 Default: false

command 列表
generate
serve
open
plugin
注:每个command对应不同的command option,可通过allure --help

你可能感兴趣的:(python,pytest,python-allure,allure命令行)