webUI自动化设置报告-allure
简介
本文是一篇使用 allure 工具进行web自动化UI测试报告生成的介绍
allure 简介
allure是一款java开发的报告工具, 需要有java 环境
使用allure 有两步:
- 首先生成结果:
- 这一步是使用了 allure-pytest 插件
- 将结果生成报告
- 这一步是使用了allure 的功能,需要配置allure环境
使用allure-pytest生成测试结果
安装
pip install allure-pytest
在代码中使用,常用的方法如下
import allure
### 用于标记测试 ###
# feature相当于一个功能,一个大的模块,将case分类到某个feature中,报告中在behaviore中显示,相当于testsuite
@allure.feature('')
# story相当于对应这个功能或者模块下的不同场景,分支功能,属于feature之下的结构,报告在features中显示,相当于testcase
@allure.story()
### 实际上相当于测试用例标题 ###
@allure.title("Parameterized test title: adding {param1} with {param2}")
### 用于记录每一步的步骤 ###
@allure.step()
### 记录详细描述
@allure.description()
### 添加附件
allure.attach(body, name, attachment_type, extension)
### 用于记录链接, 会在报告详情的 links 模块处 附上对应的链接
@allure.link('https://console-beta.zegocloud.com/account/login')
@allure.issue('https://console-beta.zegocloud.com/account/signup', '注册页面')
# 关联测试用例(可以直接给测试用例的地址链接)
@allure.testcase('www.baidu.com', '测试数据')
def test_with_links():
pass
# 用于标注严重级别,执行测试时,可以只执行对应级别的测试用例
@allure.severity(allure.severity_level.TRIVIAL)
使用例子如下:
@allure.feature('登录模块')
@allure.story('邮件-密码登录')
@allure.title("使用邮箱密码进行登录")
@allure.description("""
此用例主要用来验证 邮件登录功能
""")
@allure.step('添加附件步骤')
@allure.link('www.baidu.com')
@allure.testcase('www.baidu.com', '测试用例')
@allure.severity(allure.severity_level.CRITICAL)
def test_1():
allure.attach.file('./config/login_data.yaml', attachment_type=allure.attachment_type.YAML)
allure.attach('<head></head><body> a page </body>', 'Attach with HTML type', allure.attachment_type.HTML)
备注,这里最终生成的结果如下:
生成测试结果
在代码中添加对应的报告记录数据后,就可以生成测试结果了
可以直接在 中断中输入:
- --alluredir这个选项,用于指定存储测试结果的路径
- --clean 用于清除之前的测试结果
pytest ./test.py --alluredir=./result --clean-alluredir
也可以将执行参数配置在 pytest.ini 文件中,每次执行只要执行 pytest ./test.py
即可
文件内容设置如下:
[pytest]
addopts = --alluredir=./result --clean-alluredir
这样就会在当前项目中生成 result 文件夹,其中文件是生成报告的来源, 内容如下
使用allure 插件,将结果生成测试报告
下载allure
下载地址如下:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
【windows】可以下载最新版本的ZIP文件, 并解压; 将解压的bin目录放在系统环境变量中;
放好后,在终端执行 allure 命令有对应的内容输出,则代表配置成功
备注:allure 是java编写的, 所以需要java的运行环境
生成报告并打开
生成测试报告,在控制台执行
- --clean 用于清除之前的测试结果
allure generate ./result -o ./report --clean
启动服务,展示报告,这里是启动一个tomcat 服务,会自动从网页端打开;
allure open -h 127.0.0.1 -p 8883 ./report
参考链接
- allure-pytest 官网文档: https://docs.qameta.io/allure-report/#_pytest
- python自动化之使用allure生成测试报告 https://www.cnblogs.com/feng0815/p/13792188.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)