Allure测试框架

allure介绍

allure是一个轻量级、灵活的、支持多语言的测试报告工具

多平台的,奢华的report框架

可以为dev/qa提供详尽的测试报告、测试步骤、log

为管理层提供high level统计报告

java语言开发的,支持pytest、javascript、PHP、ruby等

可以集成到Jenkins

安装

mac安装allure:brew install allure

pytest使用allure:pip install allure-pytest

官网:http://allure.qatools.ru/

文档:https://docs.qameta.io/allure/

使用

进行结果收集

pytest --alluredir=/tmp/my_allure_results

生成报告方法一:(此命令将在默认浏览器中显示生成的报告)

allure serve /tmp/my_allure_results

生成报告方法二:

allure generate /tmp/my_allure_results -o /tmp/my_allure_reports

allure open -h 127.0.0.1 -p 8883 /tmp/my_allure_reports (用ccontrol + c 结束)

allure 添加标识

@allure.feature(‘功能名称’)

@allure.story(‘子功能名称’)

@allure.step(‘步骤细节’)

@allure.attach(‘具体的文本信息’) 需要附加的信息,可以是数据、文本、图片、视频、网页

如果只需要测试登录功能运行的时候可以加限制过滤:

pytest 文件名 --allure-features ‘购物车功能’ --allure-stories ‘加入购物车’

feature和story关系

feature相当于一个功能,一个大的模块,将case分类到某个feature中,报告中的behavior中显示,相当于testsuite

story相当于对应这个功能或者模块下的不同场景、分支功能,属于feature之下的结构,报告在features中显示,相当于testcase

feature和story相当于父子关系

step

测试过程中的每个步骤,一般放在具体逻辑方法中

可以放在关键步骤中,在报告中显示

在app web自动化测试中,建议每切换到一个新的页面当作一个step

用法

@allure.step()只能以装饰器的形式放在类或者方法上面
with allure.step():可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含

关联链接

@allure.link(“测试用例的链接”)

@allure.link(“测试用例的链接”, name=‘链接的名称’)

关联测试用例

@allure.testcase(‘http://www.baidu.com’, ‘测试用例’)

关联bug

@allure.issue(‘140’, ‘这是一个issue’)

在执行时,需要加 --allure-link-pattern=issue:http://www.myissue.com/{}

按重要性级别进行一定范围测试

在方法、函数和类上面加 @allure.severity(allure.severity_level.TRIVLAL)

blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)

critical级别:临界缺陷(功能点缺失)

normal级别:普通缺陷(数值计算错误)

minor级别:次要缺陷(界面错误与UI需求不符)

trivial级别:轻微缺陷(必输项无提示,或者提示不规范)

执行

pytest XXX.py --alluredir=path --allure-severities normal,critical

import allure


@allure.severity(allure.severity_level.NORMAL)
def test_demo_1():
    print('test_demo_1')


@allure.severity(allure.severity_level.CRITICAL)
def test_demo_2():
    print('test_demo_2')


@allure.severity(allure.severity_level.NORMAL)
def test_demo_3():
    print('test_demo_3')


@allure.severity(allure.severity_level.MINOR)
def test_demo_4():
    print('test_demo_4')

添加附件

添加网页

allure.attach(body,name,attachment_type,extension)

allure.attach(‘首页’,‘这是错误页的结果信息’,allure.attachment_type.HTML)

添加照片

allure.attach.file(source,name,attachment_type,extension)

allure.attach.file(’./result/b.png’,name=‘这是一个图片’,attachment_type=allure.attachment_type.PNG)

def test_attach_html():
    allure.attach('<head></head><body>首页</body>', '这是错误页的结果信息', allure.attachment_type.HTML)


def test_attach_png():
    allure.attach.file('./result/photo1.jpg', name='这是一个图片', attachment_type=allure.attachment_type.JPG)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值