安装并配置环境变量
Windows / Mac / Linux 通用安装方法:
下载 allure.zip 安装包,解压后配置环境变量即可:
配置路径(windos举例):
F:\从0到1开始搭建自动化测试框架\allure-2.17.3\bin
在命令行输入allure --version,能出现版本说明allure命令行已经安装成功了
allure --version
结合 pytest 使用,需要安装 python 插件:
pip install allure-pytest
allure特性及语法使用
@allure.step
allure报告最重要的一点是,它允许对每个测试用例进行非常详细的步骤说明
通过 @allure.step() 装饰器,可以让测试用例在allure报告中显示更详细的测试过程
@allure.step("第三步")
def nested_step():
#具体测试步骤代码
nested_step_with_arguments(1, 'abc')
allure.attach(挺有用的)
作用:allure报告还支持显示许多不同类型的附件,可以补充测试结果;自己想输出啥就输出啥,挺好的
语法: allure.attach(body, name, attachment_type, extension)
参数列表
body:要显示的内容(附件)
name:附件名字
attachment_type:附件类型,是 allure.attachment_type 里面的其中一种
extension:附件的扩展名(比较少用)
@allure.title("前置操作:登录")
@allure.step("第二步")
def step_with_nested_steps():
allure.attach('在fixture后置操作里面添加一个附件txt', 'fixture后置附件',
allure.attachment_type.TEXT)
nested_step()
@allure.title() (用例标题)
from time import sleep
import allure
import pytest
@allure.title("测试:title")
@allure.description("""
这是一个@allure.description装饰器
没有特别的用处
""")
@pytest.mark.parametrize("n", list(range(5)))
class TestWeibo:
@allure.story("子功能/单个用例名称")
def test_case1_01(self, open_weibo, n):
sleep(1)
print("查看微博热搜", n)
def test_case1_02(self, open_weibo, n):
sleep(1)
print("查看微博詹姆斯", n)
@allure.description()
作用:可以添加足够详细的测试用例描述
写法同上。
@allure.description("""
这是一个@allure.description装饰器
没有特别的用处
""")
@allure.feature(“功能名称”)
@allure.feature("测试采购合同模块") # 通常对测试类进行装饰
class TestPurchaseContract:
@allure.story(“子功能/单个用例名称”)
@allure.story("测试同步标识灯功能") # 通常对单个用例进行装饰
def test_synchronize(self):
"""
测试 同步标识灯 功能
:return:
"""
r = self.pending_request.synchronize()
assert r["msg"] == "同步更新申购单红、绿、蓝灯状态成功"
assert r["success"] is True
Allure特性-severity(测试用例的优先级)
class Severity(object):
BLOCKER = 'blocker'
CRITICAL = 'critical'
NORMAL = 'normal'
MINOR = 'minor'
TRIVIAL = 'trivial'
@allure.severity(“minor”)
Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
Critical级别:临界缺陷( 功能点缺失)
Normal级别:普通缺陷(数值计算错误)
Minor级别:次要缺陷(界面错误与UI需求不符)
Trivial级别:轻微缺陷(必输项无提示,或者提示不规范
allure生成报告命令
执行测试命令
pytest -n auto --alluredir=allure
测试报告生成命令
allure serve allure
报告预览
备注:
环境参数配置:environment.properties(需要放在allure目录下)
Browser=Chrome
Browser.Version=81.0.4044.92
Stand=Production
ApiUrl=pda
python.Version=3.7.2
测试类别配置文件categories.json(需要放在allure目录下)
[
{
"name": "忽略测试",
"matchedStatuses": ["skipped"]
},
{
"name": "Infrastructure problems",
"matchedStatuses": ["broken", "failed"],
"messageRegex": ".*bye-bye.*"
},
{
"name": "Outdated tests",
"matchedStatuses": ["broken"],
"traceRegex": ".*FileNotFoundException.*"
},
{
"name": "测试失败",
"matchedStatuses": ["failed"]
},
{
"name": "测试缺陷",
"matchedStatuses": ["broken"]
}
,
{
"name": "测试成功",
"matchedStatuses": ["passed"]
}
]
趋势模块不显示问题解决方案:
原因:allure-result文件中没有history文件夹
解决:手动将allure-report中的history复制到allure目录下
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
只有努力不懈地追求,才能让梦想翱翔于蓝天,让奋斗的火焰点亮心灵。相信自己的坚持,抓住每个机会,在汗水中收获辉煌,成就一段不平凡的人生。
只有不断超越自己,才能找到无限的可能性;只有努力拼搏,才能创造属于自己的辉煌未来。坚持奋斗,追逐梦想,你定会收获一切你所向往的!
只有奋斗才能点亮梦想之光,只有坚持才能跨越困难之山,只有勇敢才能超越自我。相信自己的力量,不停追求进步,终将成为那个无所不能的人。