Allure测试报告
1、Allure安装:
-
安装JDK1.8+才可以运行Allure---------参照【https://www.cnblogs.com/luckyplj/p/11974643.html】
-
allure 的下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
-
解压Allure压缩包(D:\压缩包,解压到D:)
-
配置Allure到环境变量,到path里面,D:\allure-2.17.2\bin
选择最新日期的版本下载即可,如下图所示:
验证是否安装成功:Win+R,依次输入:cmd--->allure --version,显示版本号说明已安装成功。
注:1、下载包放到pytest文件夹中,然后将allure/bin的路径放到环境变量的path中
2、allure命令行工具,这个工具主要用来把测试用例的运行结果转换成html格式
3、配置环境变量后,一定要重启电脑。因为环境变量没生效,我搞了半天在pycharm不能生成报告,在cmd中可以生成报告
2、Allure介绍
- allure测试报告是基于Pytest运行后,产生的Json文件,来实现的结果展示,以一个工程的形态展示文本。
安装插件:pip install allure-pytest---->验证:pip show allure-pytest,可看到版本相关信息即是安装好了
3、代码操作实现:
import os import pytest def test_case01(): assert 1 == 1 def test_case02(): assert 1 == 1 def test_case03(): assert 1 == 3 def test_case04(): assert 1 == 4 def test_case05(): assert 1 == 5
if __name__ == '__main__': pytest.main(['test_allure.py', '--alluredir', './result']) # ['--alluredir','./result']意思是在指定路径下产生json文件 os.system('allure generate ./result/ -o ./report_allure --clean') # ./result/ -o ./report_allure生成的测试报告全部放在report_allure目录下,--clean覆盖上一次的报告
#可以在cmd中进入到此py目录下执行此命令行
报告:
4、注意别踩坑
allure定制化想必大部分情况都会去选择pip install pytest-allure-adaptor或是pip install allure 这个插件,安装完成后,运行定制化代码出现以下报错:
(1)这种报错pip install pytest-allure-adaptor,cmd中操作
1、pip uninstall pytest-allure-adaptor
2、pip install allure-pytest
(2)安装pip install allure 后报错
- 在Pycharm终端中输入:pip list,有关allure的模块全部卸载
pip unintall allure pip unintall allure-pytest 2.9.45 pip unintall allure-python-commons 2.9.45
5、装饰的使用
Allure用例描述 | ||
使用方法 | 参数值 | 参数说明 |
@allure.epic() | epic描述 | 定义项目、当有多个项目是使用。往下是feature |
@allure.feature() | 模块名称 | 用例按照模块区分,有多个模块时给每个起名字 |
@allure.story() | 用例名称 | 一个用例的描述 |
@allure.title(用例的标题) | 用例标题 | 一个用例标题 |
@allure.testcase() | 测试用例的连接地址 | 自动化用例对应的功能用例存放系统的地址 |
@allure.issue() | 缺陷地址 | 对应缺陷管理系统里边的缺陷地址 |
@allure.description() | 用例描述 | 对测试用例的详细描述 |
@allure.step() | 操作步骤 | 测试用例的操作步骤 |
@allure.severity() | 用例等级 | blocker 、critical 、normal 、minor 、trivial |
@allure.link() | 定义连接 | 用于定义一个需要在测试报告中展示的连接 |
@allure.attachment() | 附件 | 添加测试报告附件 |
import os import pytest import allure @allure.feature('feature测试需求001:用户注册') # 大需求 @allure.story('story测试场景001:微信用户注册') # 子需求 @allure.title('title测试用例001:通过微信正常注册男用户') # 自定义用例的名称 def test_case01(): assert 1 == 1 @allure.feature('feature测试需求001:用户注册') @allure.story('story测试场景002:微信用户注册') @allure.title('title测试用例002:通过微信正常注册女用户') def test_case02(): assert 1 == 1 @allure.feature('feature测试需求001:用户注册') @allure.story('story测试场景003:微信用户注册校验') @allure.title('title测试用例003:用户名为空提交注册') def test_case03(): assert 1 == 3 @allure.feature('feature测试需求001:用户注册') @allure.story('story测试场景003:微信用户注册校验') @allure.title('title测试用例004:密码为空提交注册') def test_case04(): assert 1 == 4 @allure.feature('feature测试需求001:用户注册') @allure.story('story测试场景003:微信用户注册校验') @allure.title('title测试用例005:用户名存在特殊字符') def test_case05(): assert 1 == 5 @allure.feature('feature测试需求001:用户注册') @allure.story('story测试场景003:微信用户注册校验') @allure.title('title测试用例005:用户名超长提交用户信息') def test_case06(): assert 1 == 6 if __name__ == '__main__': pytest.main(['test_allure.py', '--alluredir', './result']) os.system('allure generate ./result/ -o ./report_allure --clean')
报告:
@allure.feature
@allure.story('story测试场景003:微信用户注册校验')
@allure.title('title测试用例005:用户名超长提交用户信息')
allure命令行详解(1):https://www.cnblogs.com/guanqibuyu/p/16601348.html
allure命令行详解(2)https://blog.csdn.net/qq_45562973/article/details/124909242
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/15759982.html