首页 > 其他分享 >Allure定制报告

Allure定制报告

时间:2022-08-31 21:55:24浏览次数:58  
标签:allure name 报告 title dynamic 用例 Allure 定制

目录

1、定制报告常用的装饰器

结合表和示例图查看

使用方法 参数值 参数说明
@allure.epic() 项目名称 项目名称,树结构第一层
@allure.feature() 模块名称 模块名称,树结构第二层
@allure.story() 用户故事 测试用例分组名,树结构第三层
@allure.title() 用例标题 测试用例标题,树结构第四层
@allure.severity() 用例等级/优先级 blocker,critical,normal,minor,trival
@allure.description() 用例描述 用例描述
@allure.link() 自定义链接
@allure.issure() bug链接地址
@allure.testcase() 测试用例地址
@allure.step() 测试步骤
@allure.attachment() 附件

示例图
image

2、allure.dynamic在测试方法中动态添加定制

在对测试方法进行参数化的时候,使用@allure.title装饰器只能对所有测试用例定制一样的标题,想要动态定制用例标题可以在测试方法中使用allure.dynamic.title()来进行定制。
定制代码示例

login_data = [
   ("登录成功用例", "zhangsan", "password", "success"),
   ("密码错误用例", "zhangsan", "passwd", "failed_password"),
   ("用户不存在", "lisi", "password", "user_not_exists")
             ]
@pytest.mark.parametrize("case_title,username,password,expect_result", login_data)
def test_login(case_title, username, password, expect_result):
   print("登录测试")
   allure.dynamic.title(case_title)
   allure.dynamic.description(f"测试用例描述:此条用例期待结果:{expect_result}")

定制效果
image

实际上表中除了epic所有定制都可以在测试方法中动态定制,具体如下图
image

3、用例等级的定制

  • blocker:阻塞缺陷,致命bug
  • critical:严重缺陷,功能未实现或错误
  • normal:一般缺陷(80%都是此类缺陷),默认等级
  • minor:次要缺陷,界面显示问题
  • trivial:轻微缺陷,提示问题

使用方法:@allure.severity(allure.severity_level.BLOCKER)

注意:
该装饰器既可以修饰方法也可以修饰类
不修饰的情况下,默认等级为normal

4、用例描述的定制

  1. 使用装饰器
    @allure.description()
  2. 动态定制
    allure.dynamic.description()
@allure.title("注销用例标题1")
@allure.description("测试注销1")
def test_logout(self):
	print("注销")
	allure.dynamic.title("注销用例标题2")
	allure.dynamic.description("测试注销2")

注意:
使用动态定制会覆盖使用装饰器定制

5、链接的定制

  • 测试用例链接:@allure.testcase(url=链接地址,name=名称)
  • bug链接:@allure.issue(url=链接地址,name=名称)
  • 自定义链接:@allure.link(url=链接地址,name=名称)
@allure.link(url="https://passport.jd.com/new/login.aspx", name="登录地址")
@allure.issue(url="https://www.google.com", name="bug列表地址1")
@allure.testcase(url="https://testlink.org/", name="测试用例地址1")
@pytest.mark.parametrize("case_title,username,password,expect_result", login_data)
def test_login(self, case_title, username, password, expect_result):
	print("登录测试")
	allure.dynamic.link(url="https://www.baidu.com",name="登录链接")
    allure.dynamic.issue(url="https://www.baidu.com", name="bug列表地址2")
    allure.dynamic.testcase(url="https://www.baidu.com", name="测试用例地址2")

注意:
链接同样支持动态定制
动态定制不会覆盖装饰器定制,会把所有链接都显示出来

6、步骤的定制

  1. 使用装饰器
    @allure.step()
  2. 在测试方法内使用
    with allure.step():

示例:

@allure.epic("电商项目")
@allure.feature("购物车模块")
class TestCart:
    @allure.step("第一步,测试加入购物车")
    @allure.story("测试添加购物车方法")
    @allure.title("加入购物车测试用例")
    def test_add_cart(self):
        # 第一步,登录
        with allure.step("第一步,登录"):
            print("登录成功")
        # 第二步,搜索商品
        with allure.step("第二步,搜索商品"):
            print("搜索成功")
        # 第三步,将商品加入购物车
        with allure.step("第三步,加入购物车"):
            print("加入购物车成功")
        # 第四步,打开购物车
        with allure.step("第四步,打开购物车"):
            print("打开购物车成功")
        # 第五步,断言验证是否添加成功
        with allure.step("第五步,断言验证是否加入成功"):
            print("验证加入购物车通过")

image

7、附件的定制

使用allure.attachment对附件进行定制
参数:

  • body:附件内容
  • name:附件名称
  • attachment_type:附件类型,支持的类型如下
    • image
  1. UI自动化项目

        def test_register(self):
         print("注册测试")
         with open("./allure_demo/screen_shot/fail_snap.jpg","rb") as f:
             allure.attach(body=f.read(), name="注册测试失败截图", attachment_type=allure.attachment_type.JPG)
    

    image

  2. 接口自动化项目

    def test_search_api():
     allure.attach(body=url,
                   name="请求地址",
                   attachment_type=allure.attachment_type.TEXT)
     allure.attach(body=json.dumps(params),
                   name="请求参数",
                   attachment_type=allure.attachment_type.TEXT
                   )
     resp = requests.get(url, params=params)
     allure.attach(body=resp.text,
                   name="响应数据",
                   attachment_type=allure.attachment_type.TEXT
                  )
    

    image

标签:allure,name,报告,title,dynamic,用例,Allure,定制
From: https://www.cnblogs.com/qishuaiRisen/p/16644656.html

相关文章

  • 技术辞职报告格式范文(5篇)
    摘要:技术辞职报告格式范文,共计5篇,适用于技术职员书写的辞职报告。图片:格式范文:技术辞职报告范文一:尊敬的总经理:我很遗憾自己在这个时候向公司正式提出辞职。首先,......
  • CF739C Alyona and towers 解题报告
    线段树绝世好题。题意:维护区间加,全局最长单峰序列。Solution:维护\(8\)个量。\(lval\):左端点的权值。\(rval\):右端点的权值。\(lmax\):以左端点开始的最长的下降序......
  • Python 自动化测试(五): Pytest 结合 Allure 生成测试报告
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取霍格沃兹出品《测试开发实战进阶》课程,资深测试架构师、开源项目作者亲授BAT大厂前沿......
  • Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取1.关于使用Jenkins创建job完成自动化测试,核心在于项目的拉取和执行,至于job的创建大同小异,需要......
  • pytest相关参数及allure生成report报告的相关参数
    一、pytest的相关参数-s输出打印信息,关闭捕捉;(如果要生成报告,就需要去掉该参数)-v显示具体的详细信息;-k执行包含关键字的用例-q简化输出信息-x出现一条测试用例失......
  • 报告分享|2022年中国实时音视频行业研究报告
    阅读全文:http://tecdat.cn/?p=28384《2022年中国实时音视频行业研究报告》对我国实时音视频行业的发展背景、竞争格局、盈利能力、市场规模等情况进行深入梳理。并从供给......
  • 报告分享|2022年新消费趋势白皮书
    报告链接:http://tecdat.cn/?p=28368近日,清渠数智联合金麦奖重磅发布《2022年新消费趋势白皮书》,白皮书主要分为持续增长的Z世代和疫情下的生活方式新消费两部分。目前Z世......
  • 报告分享|2022中国AI技术应用场景市场研究及选型评估报告
    原文链接:http://tecdat.cn/?p=28359AI使机器具备“思考与行动”的能力,人与机器需在企业中配合发挥作用人工智能(ArtificialIntelligence),英文缩写为AI。最早由计算机科学......
  • VScode-TodoTree 待办事项插件的定制和使用
    VScode-TodoTree待办事项插件的定制和使用背景写代码过程中,突然发现一个Bug,但是又不想停下来手中的活,以免打断思路,怎么办?按代码编写会规范,都是建议在代码中加个TODO......
  • 报告分享|疫情下的消费洞察: 苟住,从“新”出发
    原文链接:http://tecdat.cn/?p=28356今年上半年疫情再度席卷,消费者对病毒“免疫”了吗?消费信心是“全线崩塌”,还是“局部崩塌”?节省开支,具体该怎么做?……随着消费者身心历......