前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >allure定制化报告

allure定制化报告

作者头像
孟船长
发布2022-04-12 14:38:44
8660
发布2022-04-12 14:38:44
举报

先把怎么使用用文字说明一下,方便大家查询。

这里就不每次都截图了,最后我们放一个整体报告截图。

1、史诗(项目名称):

代码语言:javascript
复制
@allure.epic("项目名")

2、特性(模块名称):

代码语言:javascript
复制
@allure.feature("模块名称")

3、分组(接口名称):

代码语言:javascript
复制
@allure.story("接口名称:登录")

4、测试用例标题:

方式一:【适用于一个方法对应一个用例】

代码语言:javascript
复制
@allure.title("用例标题")

方式二:写在方法里【适用于一个方法对应多个用例——数据驱动

代码语言:javascript
复制
allure.dynamic.title("测试用例标题")

5、用例优先级【默认normal】

代码语言:javascript
复制
block:中断缺陷:致命bug:用户数据丢失、系统崩溃
critical:临界缺陷:严重bug:功能未实现
normal:一般缺陷:一般bug:条件查询有误,数据未响应
minor:次要缺陷:提示bug:颜色、页面变形、错别字
trivial:轻微bug:必填项没有提示
代码语言:javascript
复制
@allure.severity(allure.severity_level.级别)

如果一个下所有用例级别都是相同的,可以在类上面进行标记

6、用例描述

方式一

代码语言:javascript
复制
@allure.description("用例描述")

方式二:在代码里

代码语言:javascript
复制
allure.dynamic.description("用例描述")

方式三:在代码里添加注释

代码语言:javascript
复制
"""
注释内容
"""

7、用例链接

接口地址【有点问题】

代码语言:javascript
复制
@allure.link(url="url", name="接口地址")

bug地址

代码语言:javascript
复制
@allure.issue("url", name="bug地址")

测试用例地址

代码语言:javascript
复制
@allure.testcase("url", name="用例地址")

8、测试步骤

方法一:装饰器,当一个方法里有多个步骤时就不好用了

代码语言:javascript
复制
@allure.step("步骤一")

方法二:方法里写

代码语言:javascript
复制
with allure.step("步骤一"):

同时写时装饰器名称就会变成文件夹/折叠名,然后下面的步骤都在这个文件夹/折叠里。一般用不着这样,去掉装饰器方式就行。

9、附件定制

代码语言:javascript
复制
allure.attach()
# 参数
body:附件内容
name:文件名
attachment_type:文件扩展名

web/ui自动化:

代码语言:javascript
复制
with open("/Users/macbook/Desktop/file.jpg", mode="rb") as fp:
    allure.attach(body=fp.read(), name="selenium错误截图", attachment_type=allure.attachment_type.JPG)

接口自动化:

代码语言:javascript
复制
allure.attach(body="api.weixin.qq.com", name="请求地址", attachment_type=allure.attachment_type.TEXT)
allure.attach(body="/api/get_token", name="请求路径", attachment_type=allure.attachment_type.TEXT)

当做了封装以后,以上截图或者接口返回信息都可以通过调用返回值进行填充,这里只是举例子。

代码

代码语言:javascript
复制
# coding: utf-8
import os

import allure
import pytest

@allure.epic("项目名称:allure报告定制化")
@allure.feature("模块名称:商品管理模块")
class TestReg():

    @pytest.fixture(scope="function", autouse=True)
    def test_login(self):
        print("先登录")
        yield
        print("退出")

    @allure.story("接口名称:登录")
    @allure.title("用例1")
    @allure.severity(allure.severity_level.MINOR)
    @allure.description("用例描述test_01")
    @allure.link(url="api.weixin.qq.com", name="接口地址")
    @allure.issue(url="api.weixin.qq.com", name="bug地址")
    @allure.testcase(url="api.weixin.qq.com", name="用例地址")
    @allure.step("测试步骤文件夹名")
    def test_01(self):
        with allure.step("步骤一"):
            print("操作步骤一")
        with allure.step("步骤二"):
            print("操作步骤二")
        with allure.step("步骤三"):
            print("操作步骤三")
        # 接口自动化错误截图
        allure.attach(body="api.weixin.qq.com", name="请求地址", attachment_type=allure.attachment_type.TEXT)
        allure.attach(body="/api/get_token", name="请求路径", attachment_type=allure.attachment_type.TEXT)
        # web/UI自动化错误截图
        with open("/Users/macbook/Desktop/file.jpg", mode="rb") as fp:
            allure.attach(body=fp.read(), name="selenium错误截图", attachment_type=allure.attachment_type.JPG)


    @allure.story("接口名称:登录")
    @allure.title("用例2")
    @allure.severity(allure.severity_level.CRITICAL)
    def test_02(self):
        """
        这样也能加用例描述
        test_02
        :return:
        """
        print("登录后第二个操作")


@allure.epic("项目名称:allure报告定制化")
@allure.feature("模块名称:商品管理模块2")
class TestReg1():

    @pytest.fixture(scope="function", autouse=True)
    def test_login1(self):
        print("先登录")
        yield
        print("退出")

    @allure.story("接口名称:登录2")
    @allure.title("方法名1")
    def test_011(self):
        print("登录后的操作")

    @allure.story("方法名/模块名称2")
    @allure.title("方法名")
    def test_021(self):
        print("登录后第二个操作")

报告截图

注意:从报告可以看出,相同的模块名称会自动放到一个分类折叠下

我们在项目中建议大家用allure.dynamic.xxx模式写在代码里面,不然做数据驱动时多个用例的名称都是一样的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档