allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。 mac环境:
$ brew install allure
➜ ~ allure --version
2.13.8
$ pip3 install allure-pytest
pytest --alluredir ./report/allure_raw
此时,源数据就保存在report目录下的allure_raw文件夹下
allure serve report/allure_raw
使用方法 | 参数值 | 参数说明 |
---|---|---|
@allure.epic() | epic描述 | 敏捷里面的概念,定义史诗,往下是feature |
@allure.feature() | 模块名称 | 功能点的描述,往下是story |
@allure.story() | 用户故事 | 用户故事,往下是title |
@allure.title(用例的标题) | 用例的标题 | 重命名html报告名称 |
@allure.testcase() | 测试用例的链接地址 | 对应功能测试用例系统里面的case |
@allure.issue() | 缺陷 | 对应缺陷管理系统里面的链接 |
@allure.description() | 用例描述 | 测试用例的描述 |
@allure.step() | 操作步骤 | 测试用例的步骤 |
@allure.severity() | 用例等级 | blocker,critical,normal,minor,trivial |
@allure.link() | 链接 | 定义一个链接,在测试报告展现 |
@allure.attachment() | 附件 | 报告添加附件 |
功能实现:只需要在用例方法上面添加@allure.severity
装饰器即可
@allure.severity("normal") # 默认是normal级别的用例
pytest -h可以查看到allure相关的几个命令行参数
--allure-severities=SEVERITIES_SET
Comma-separated list of severity names.
Tests only with these severities will be run.
Possible values are: blocker, critical, normal, minor, trivial.
如果有很多测试用例,现在只想做个快速的回归测试,只测试用例级别为blocker和critical级别的测试用例
pytest --alluredir ./report/allure --allure-severities blocker,critical
写法二:
pytest --alluredir=./report/allure --allure-severities=blocker,critical
如果只执行blocker级别的用例
pytest --alluredir=./report/allure --allure-severities=blocker
首先看一下三个装饰器的源码
def link(url, link_type=LinkType.LINK, name=None):
return safely(plugin_manager.hook.decorate_as_link(url=url, link_type=link_type, name=name))
def issue(url, name=None):
return link(url, link_type=LinkType.ISSUE, name=name)
def testcase(url, name=None):
return link(url, link_type=LinkType.TEST_CASE, name=name)
知识点:
提供了三个装饰器
用命令行的方式执行
# 只运行 epic 名为 test 的测试用例
pytest --alluredir ./report/allure --allure-epics=test
# 只运行 feature 名为 模块 的测试用例
pytest --alluredir ./report/allure --allure-features=模块
# 只运行 story1、story2 的测试用例(也可以不用=号 空格就行了哦)
pytest tests.py --allure-stories story1,story2
# 指定 feature+story
pytest tests.py --allure-features feature2 --allure-stories story2
在 allure 报告首页 ENVIRONMENT 显示 ‘There are no environment variables’ 没有环境变量的配置信息。 环境变量配置可以添加报告相关的配置参数,如运行的系统环境,版本号,测试环境,测试人员等基本信息
方法一:environment.properties 文件
在项目根目录添加environment.properties,文件里配置如下信息:
systemVersion=mac11.1
pythonVersion=3.7.6
allureVersion=2.13.8
baseUrl=http://192.168.1.xxx:8000
projectName=testName
author=jkc
方法二: environment.xml 文件
<environment>
<parameter>
<key>Browser</key>
<value>Chrome</value>
</parameter>
<parameter>
<key>Browser.Version</key>
<value>50.0</value>
</parameter>
<parameter>
<key>Stand</key>
<value>Production</value>
</parameter>
</environment>
展示报告
在运行 pytest 生成 allure 报告的时候,有时候需要加 --clean
参数,清楚之前的报告记录,这样会之前清空 report 目录,environment.properties文件也会被删除。
为了不让 environment.properties 文件删除掉,可以把 environment.properties 文件放项目根目录,在运行报告的时候,先 copy 到 report 目录
> pytest --alluredir ./report --clean-alluredir
> cp environment.properties ./report/environment.properties
> allure serve ./report
报告显示
注意:这里不支持中文,中文会展示乱码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/165257.html原文链接:https://javaforall.cn