世界级别allure

目录

1、前言

2、安装及配置

2.1、安装jdk

2.2、下载allure

2.3、配置环境

3、使用介绍

3.1、静态属性

3.2、动态属性

4、生成报告


1、前言

 pytest+allure是最完美的结合了,关于allure的使用,本篇做一个总结。
allure报告可以很多详细的信息描述测试用例,包括epic、feature、story、title、issue、testcase、severity等
环境准备

2、安装及配置

2.1、安装jdk

安装allure之前安装配置好jdk,不然安装allure会出错

2.2、下载allure

下载地址:Releases · allure-framework/allure2 · GitHub

2.3、配置环境

将allure目录下的bin路径记录环境变量中

cmd中输入allure验证配置是否成功

安装allure对应库

pip install allure-pytest

3、使用介绍

3.1、静态属性

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.epic  第一级目录
  • @allure.feature  第二级目录
  • @allure.story  第三级目录
  • @allure.title  更换def方法名称

  • @allure.testcase  用例链接
  • @allure.issue  bug链接

  • @allure.description  用例描述
  • @allure.step  用例步骤

  • @allure.serverity()  设置用例优先级
  • @allure.link()  写在class时,报告的每个用例的链接都会显示,写在用例前,只在当前用例显示

3.2、动态属性

关键字:dynamic,例子静态写法@allure.title(),动态写法allure.dynamic.title()

def datas():
    with open("./data/login.yaml", encoding="utf8") as f:
        datas = yaml.safe_load(f)
        return datas

@allure.feature("login")
class Test_run:
    @classmethod
    def setup_class(cls):
        cls.wb = Action()
        for i in os.dirlist("./temp"):  # 每次运行时清除之前temp的数据
            os.remove("./temp"+i)

    @allure.story("登录用例")
    @pytest.mark.parametrize("listcase", datas()['loginPage'])
    def test_1login(self, listcase):
        allure.dynamic.title(listcase["title"])  # 动态设置用例标题
        testcases = listcase['cases']
       for p in testcases:
            arr = list(p.values())
            with allure.step(arr[0]):
                func = getattr(self.wb, arr[1])  # 映射,第一个参数为对象(class名称),第二个参数为方法名
                func(*arr[2:])  # 传递参数
# yaml格式数据
loginPage :
    -
      title : 登录失败
      cases :
        -
          name : 打开登录页面
          method : openWeb
          url : https://www.baidu.com
        -
          name : 输入用户名
          method : sendkeys
          type : id
          locator : account
          value : 123456
        -
          name : 输入密码
          method : sendkeys
          type : id
          locator : password
          value : lm123456
        -
          name : 点击登录
          method : click
          type : xpath
          locator : /html/body/main/div/form/a

4、生成报告

选择运行你要执行的用例

pytest -s test_abc.py --alluredir ./temp 

选择运行你要执行epic的用例

pytest --alluredir ./temp --allure-epics=epic对大Story的一个描述性标签

选择运行你要执行features的用例

pytest --alluredir ./temp --allure-features=模块2

先执行用例的文件存在/temp中,然后在runner.py文件添加os.system("allure generate ./temp -o ./report --clean"),或者执行命令

allure generate ./temp -o ./report

5、定制logo

1、在config目录下找到allure.yml,打开文件,在最后添加- custom-logo-plugin

 

2、找到allure目录下的plugins > custom-logo-plugin > static,将logo文件放入该目录下,编辑styles.css,替换.jpg文件,最后调整height和width,直到合适的位置

.side-nav__brand {
  background: url('login_icon.jpg') no-repeat left center !important;
  margin-left: 40px;
  height: 150px;
  background-size: contain !important;
}

.side-nav__brand-text {
	display: none;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值