Python接口自动化测试 ---Allure报告使用详解
创始人
2025-05-31 10:02:02
0

这一节主要是记录allure的内容以及用法,怎么让他生成一个完整的想要的报告。

allure生成的报告和其他五花八门的报告对比了一下,它的可读性是最好、最直观的。这不仅仅是我想要的效果,也是很多小伙伴想要的结果,毕竟这是给领导看,而且也算是自己老大成果的汇总。

关于怎么安装的,自行搜索

一、Allure相关的内容:

Allure用例描述
使用方法参数值参数说明
@allure.epic()epic描述定义项目、当有多个项目是使用。往下是feature
@allure.feature()模块名称用例按照模块区分,有多个模块时给每个起名字  
@allure.story()用例名称一个用例的描述
@allure.title(用例的标题)用例标题一个用例标题
@allure.testcase()测试用例的连接地址自动化用例对应的功能用例存放系统的地址
@allure.issue()缺陷地址对应缺陷管理系统里边的缺陷地址
@allure.description()用例描述对测试用例的详细描述
@allure.step()操作步骤测试用例的操作步骤
@allure.severity()用例等级blocker  、critical  、normal  、minor  、trivial
@allure.link()定义连接用于定义一个需要在测试报告中展示的连接
@allure.attachment()附件添加测试报告附件

总共主要的就以上这些,常用的大概有一半吧 。

二、对于这其中常用的做一些使用实例:

代码结构:

登录是一个前置操作 ,拿出来后单独存放,loging.py文件内容:

# __*__coding:utf-8 __*__import allure@allure.step("操作步骤: 登录")
def longin():'''登录操作'''print("这个是登录的接口")

conftest.py这个文件主要放一些公共的内容

# __*__coding:utf-8 __*__import pytest
from common_contion.loging import longin@pytest.fixture(scope="session")
def login_fixture():longin()print("这个是前置操作:登录")

case----test_case.py文件主要存放一些测试用例,内容如下:

# __*__coding:utf-8 __*__import pytest
import allure
from common_contion.dome_Interface import *@allure.severity("blocker")
@allure.epic("项目名称: 会所资源管理系统")
@allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html")  # 禅道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html")  # 禅道用例连接地址
@allure.feature("房间管理模块")
class Testdome1(object):def test_dome_1(self,login_fixture):'''用例一的用例描述: 我是第一个用例,我只有一个步骤'''print("第一个测试用例")jieko_dome_1()def test_dome_2(self,login_fixture):'''用例二的用例描述: 我是第二个用例,我只有一个步骤'''print("第二个测试用例")jieko_dome_2()@allure.severity("critical")
@allure.epic("项目名称: 会所资源管理系统")
@allure.feature("资源管理模块")
@allure.story("用例的标题: 对会所资源进行增、删、改、查")
@allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html")  # 禅道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html")  # 禅道用例连接地址
class Testdome3(object):def test_dome_3(self,login_fixture):'''用例三的用例描述: 我是第三个用例,我是有多个步骤;'''print("第三个测试用例")f = jieko_dome_3()f.jieko_dome_3_1()f.jieko_dome_3_2()f.jieko_dome_3_3()f.jieko_dome_3_4()

common_contion----dome_Interface.py文件主要存放用例相关的接口内容:

# __*__coding:utf-8 __*__import alluredef jieko_dome_1():'''用例描述: 用例一的接口'''print("这个是第一个用例对应的接口")def jieko_dome_2():'''用例描述: 用例二的接口'''print("这个是第二个用例对应的接口")@allure.feature("资源管理模块")
class jieko_dome_3(object):'''这个是一个模块的测试'''@allure.step("操作步骤: 新增资源个人信息")def jieko_dome_3_1(self):'''用例描述: 用例三的新增内容接口'''print("这个是第三个用例对应的接口一")@allure.step("操作步骤: 查询资源在线信息")def jieko_dome_3_2(self):'''用例描述: 用例三的查询内容接口'''print("这个是第三个用例对应的接口二")@allure.step("操作步骤: 修改资源身份信息")def jieko_dome_3_3(self):'''用例描述: 用例三的编辑内容接口'''print("这个是第三个用例对应的接口三")@allure.step("操作步骤: 删除资源全部信息")def jieko_dome_3_4(self):'''用例描述: 用例三的删除内容接口'''print("这个是第三个用例对应的接口四")

三、执行测试用例:

命令行模式执行用例

1、pytest --alluredir ./reopore/allure_row_1

执行结果:

会在工程中生成一个 /reopore/allure_row_1的文件,如图:

2、dome>allure serve reopore/allure_row_1

执行命令后将收集的数据加载到allure报告中,执行结果:

会自动使用默认浏览器打开报告

报告样式展示如下:

以上就是allure的各种装饰器加载后展示的报告的样式了。

相关内容

热门资讯

688076上市首年就进行业绩... 2025.12.17本文字数:1193,阅读时长大约2分钟作者 |第一财经 林志吟在科创板上市首年,...
沐曦股份首日涨幅超摩尔线程,“... 出品|达摩财经2025年末,国产GPU企业跑出了资本化加速度。被业界称为“GPU四小龙”的摩尔线程(...
真维斯回应“卫衣疑似抄袭肖战新... 11月11日消息,真维斯发布声明称,接到消费者反馈及市场监测信息显示,一款未经真维斯品牌授权的商店,...
陈吉宁龚正调研上汽集团:聚焦主... 11月11日消息,据上海发布,上海市委书记陈吉宁,市委副书记、市长龚正结合贯彻落实党的二十届三中全会...
FTX起诉币安及赵长鹏寻求追回... 11月11日消息,据报道,FTX起诉币安及其前首席执行官赵长鹏,寻求追回其所谓的萨姆·班克曼-弗里德...
中新赛克:多名股东拟合计减持公... 11月11日消息,中新赛克公告,公司股东广东红土、南京红土、昆山红土、郑州百瑞、南京创芸拟合计减持公...
2连板百傲化学:目前芯慧联新不... 11月11日消息,百傲化学发布异动公告,公司全资子公司芯傲华拟增资并控股芯慧联事项存在经营风险、并购...
华谊兄弟:阿里创投及其一致行动... 阿里创投及其一致行动人马云退出华谊兄弟5%以上股东行列。12月17日晚间,华谊兄弟传媒股份有限公司(...
中国中免:全资子公司中标上海两... 净利润增长持续下降的中国中免全权取得了上海机场多个免税店项目的经营权。12月17日,中国旅游集团中免...
新年会改变什么? 核心观点:1.不只是时间。即将过去的2025年,对于世界经济和全球市场而言,或是值得回味的一年,宏观...