Allure 简介与装置
- Allure 是由 Java 语⾔开发的⼀个轻量级,灵便的测试报告⼯具。
- Allure 多平台的 Report 框架。
- Allure ⽀持多语⾔,包含 python、JaveScript、PHP、Ruby 等。
- 能够为开发 / 测试 / 治理等人员提供详尽的的测试报告,包含测试类别、测试步骤、日志、图片、视频等。
- 能够为管理层提供高水准的统计报告。
- 能够集成到 Jenkins 生成在线的趋势汇总报告。
装置步骤:- 装置 Java,环境变量配置教程。- 装置 Allure 环境变量配置教程 – 装置插件:pip install allure-pytest。
环境验证:allure -- version
Allure 用法
办法名 | 办法参数 | 参数阐明 |
---|---|---|
@allure.epic() | epic 形容 | 麻利外面的概念,定义史诗,往下是 feature |
@allure.feature() | 模块名称 | 性能点的形容,往下是 story |
@allure.story() | 用户故事 | 用户故事,往下是 title |
@allure.title(用例的题目) | 用例的题目 | 重命名 html 报告名称 |
@allure.step() | 操作步骤 | 测试用例的步骤 |
@allure.testcase() | 测试用例的链接地址 | 对应性能测试用例零碎外面的 case |
@allure.issue() | 缺点 | 对应缺点管理系统外面的链接 |
@allure.description() | 用例形容 | 测试用例的形容 |
@allure.severity() | 用例等级 | blocker,critical,normal,minor,trivial |
@allure.link() | 链接 | 定义一个链接,在测试报告展示 |
@allure.attachment() | 附件 | 报告增加附件 |
#### Allure 报告生成 |
Allure 命令行语法格局如下:
allure[option] [command] [commandoptions]
生成报告的两种形式
形式一:在线报告,会间接关上默认浏览器展现以后报告。
# 形式一:测试实现后查看理论报告,在线查看报告,会间接关上默认浏览器展现以后报告。allureserve./result/(留神这里的 serve 书写)# Javaallureservetarget/allure-results(留神这里的 serve 书写)
形式二:利用场景:如果心愿随时关上报告,能够生成一个动态资源文件报告,将这个报告布署到 web 服务器上,启动 web 服务,即可随时随地关上报告。- 解决方案:应用 allure generate
生成带有 index.html 的后果报告。这种形式须要两个步骤:- 第一步:生成报告。- 第二步:关上报告。
# 生成报告 allure generate ./result (allure 后果)
# 关上报告 allure open ./report/ (报告地位)
Allure 增加用例题目、步骤
用例题目
- 通过应用装璜器
@allure.title
能够为测试用例自定义一个可浏览性的题目。 allure.title
的三种应用形式:-
- 间接应用
@allure.title
为测试用例自定义题目。 @allure.title
反对通过占位符的形式传递参数,能够实现测试用例题目参数化,动静生成测试用例题目。allure.dynamic.title
动静更新测试用例题目。
- 间接应用
# 形式一:
@allure.title("自定义题目")
def test_title():
assert True#
形式二:通过占位符的形式传递参数,能够实现测试用例题目参数化,动静生成测试用例题目。@allure.title("参数化用例题目:参数一:{param1},参数二:{param2}")
@pytest.mark.parametrize("param1, param2, expected",
[(1, 1, 2), (0.1, 0.3, 0.4)])
def test_with_parametrize_title(param1, param2, expected):
assert param1 + param2 == expected
# 形式三:动静更新测试用例题目。@allure.title("原始题目")
def test_with_dynamic_title():
assert True
allure.dynamic.title("更改后的新题目")
用例步骤
Allure 反对两种办法:- 办法一:应用装璜器定义一个测试步骤,在测试用例中应用。- 办法二:应用 with allure.step() 增加测试步骤。
Allure 增加图片
- 利用场景:在做 UI 自动化测试时,能够将页面截图,或者出错的页面进行截图,将截图增加到测试报告中展现,辅助定位问题。
- 解决方案:应用以下两种形式增加图片。
allure.attach.file 办法 – 语法:allure.attach.file(source, name, attachment_type, extension)
,参数解释:- source:文件门路,相当于传一个文件。- name:附件名字。- attachment_type:附件类型,是 allure.attachment_type
其中的一种 (反对 PNG、JPG、BMP、GIF 等)。- extension:附件的扩展名。
class TestWithAttach:
def test_pic(self):
allure.attach.file("pic.png",
name="图片",
attachment_type=allure.attachment_type.PNG, extension="png")
allure.attach 办法
- 语法:
allure.attach(body, name=None, attachment_type=None, extension=None):
,参数解释: -
- body:要写入附件的内容
- name:附件名字。
- attachment_type:附件类型,是
allure.attachment_type
其中的一种 (反对 PNG、JPG、BMP、GIF 等)。 - extension:附件的扩展名。
class TestWithAttach:
def test_pic2(self):
with open("./img/logo.png",mode="rb") as f :
file = f.read()
allure.attach(file,"页面截图",allure.attachment_type.PNG)
Allure 增加日志
- 日志展现在 Test body 标签下,标签下可展现多个子标签代表不同的日志输入渠道:
-
- log 子标签:展现日志信息。
- stdout 子标签:展现 print 信息。
- stderr 子标签:展现终端输入的信息。
- 禁用日志,能够应用命令行参数管制
--allure-no-capture
总结
- 增加商品测试用例设计、用例编写和断言
- Allure 测试报告定制