百木园-与人分享,
就是让自己快乐。

Allure定制报告

目录

  • 1、定制报告常用的装饰器
  • 2、allure.dynamic在测试方法中动态添加定制
  • 3、用例等级的定制
  • 4、用例描述的定制
  • 5、链接的定制
  • 6、步骤的定制
  • 7、附件的定制

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


来源:https://www.cnblogs.com/qishuaiRisen/p/16644656.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Allure定制报告

相关推荐

  • 暂无文章