2025年pytest-allure_什么是思想报告

pytest-allure_什么是思想报告前言 allure 是一个 report 框架 支持 java 的 Junit testng 等框架 当然也可以支持 python 的 pytest 框架 也可以集成到 Jenkins 上展示高大上的报告界面 mac 环境 1 java 1 8 0 2 python 3 7 6 3 pytest 6 2 1 4 allure pytest 2 8 9 5 allure 2 13 8

前言

allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。
mac环境:

1.java == 1.8.0

2.python == 3.7.6

3.pytest == 6.2.1

4.allure-pytest == 2.8.9

5.allure == 2.13.8

下载allure

$ brew install allure

检查allure版本

➜  ~ allure --version
2.13.8

安装allure-pytest

$ pip3 install allure-pytest

生成报告方式

生成测试报告源数据

pytest --alluredir ./report/allure_raw

此时,源数据就保存在report目录下的allure_raw文件夹下

打开html的报告需要启动allure服务,启动命令如下

allure serve report/allure_raw

allure标签属性

使用方法参数值参数说明
@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用例等级

blocker  阻塞缺陷(功能未实现,无法下一步)

critical严重缺陷(功能点缺失)

normal 一般缺陷(边界情况,格式错误)

minor  次要缺陷(界面错误与ui需求不符)

trivial 轻微缺陷(必须项无提示,或者提示不规范)

功能实现:只需要在用例方法上面添加@allure.severity装饰器即可

@allure.severity("normal")  # 默认是normal级别的用例

allure命令行参数allure-severities

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

allure链接地址

@allure.link() 访问链接

@allure.issue() Bug链接

@allure.testcase() 测试用例链接

首先看一下三个装饰器的源码

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)

知识点:

issue()和testcase()其实调用的也是link(),只是link_type不一样

必传参数 url:跳转的链接

可选参数 name:显示在allure报告的名字,如果不传就是显示完整的链接;建议传!!不然可读性不高

可以理解成:三个方法是一样的,我们都提供跳转链接和名字,只是链接的type不一样,最终显示出来的样式不一样而已【type不一样,样式不一样】

如果你喜欢,只用@allure.link()也可以

而出现三个装饰器的原因是为了更好地将链接分类【访问连接、Bug链接、测试用例链接】

总结

为了减少程序的阅读复杂性,其实可以统一用@allure.link()

传name,写好链接描述,就知道这个链接是干嘛的啦,反正三个装饰器的作用都是一样的,就是样式略微不同…..

标记装饰器

提供了三个装饰器

@allure.epic:敏捷里面的概念,定义史诗,往下是 feature

@allure.feature:功能点的描述,理解成模块往下是 story

@allure.story:故事,往下是 title

用命令行的方式执行

–allure-epics

–allure-features

–allure-stories

# 只运行 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添加环境变量

在 allure 报告首页 ENVIRONMENT 显示 ‘There are no environment variables’ 没有环境变量的配置信息。
环境变量配置可以添加报告相关的配置参数,如运行的系统环境,版本号,测试环境,测试人员等基本信息

添加environment配置文件

方法一: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 文件



Browser
Chrome


Browser.Version
50.0


Stand
Production

/environment>

br /> > cp environment.properties ./report/environment.properties

br /> > allure serve ./report

报告显示

注意:这里不支持中文,中文会展示乱码

编程小号
上一篇 2025-02-11 19:51
下一篇 2025-04-04 07:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/120019.html