使用allure生成测试报告

allure安装:
官网地址:https://docs.qameta.io/allure/
Linux系统安装:
sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure

Mac OS安装:
brew install allure
brew安装:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
brew官网:https://brew.sh/

windows安装:
scoop install allure

验证allure是否安装成功:
运行 allure --version 下方展示版本号即设备安装成功
在这里插入图片描述
python环境使用allure,需要安装allure-pytest库。可以使用命令安装,也可直接在pycharm设置内,搜索安装
安装命令:
pip install allure-pytest

一、allure在线看报告,直接使用默认浏览器展示当前报告:
运行.py文件并生成result: pytest 文件名.py --alluredir=./result
(该命令需要进入.py文件所在的目录内运行,生成的result文件夹和.py文件是同一目录)
将报告用默认浏览器自动打开:allure serve ./result
测试报告浏览器打开结果:
在这里插入图片描述二、 非在线查看报告:
1. 运行脚本生成result:
运行.py文件并生成result: pytest 文件名.py --alluredir=./result
(该命令需要进入.py文件所在的目录内运行,生成的result文件夹和.py文件是同一目录)
2. 生成报告:allure generate ./result -o ./report --clean
./result 为步骤1中生成的文件夹
./result和./report都可通过/创建更深路径的文件夹
3. 打开报告:allure open -h 127.0.0.1 -p 8883 ./report
8883:端口号,自定义
127.0.0.1:本地网址
./report:步骤2中生成的./report
4. 使用control+C结束服务,步骤3中测试报告网址不可用

三、allure常用的特性:
1. 场景:
希望在报告中看到测试功能、子功能或场景、测试步骤,包括测试附加信息
2. 解决:
@Feature,@story,@step,@attach
3. 步骤:
import allure
功能上加@allure.feature(‘功能名称’)
子功能上加@allure.story(‘子功能名称’)
步骤上加@allure.step(‘步骤细节’)
@allure.attach(‘具体文本信息’),需要附加的信息、文本、图片、视频、网页
如果只测试登录功能运行的时候,可以添加限制过滤:
pytest 文件名 —allure-features’购物车功能’ —allure-stories’加入购物车’

四、运行整个代码中的部分代码
1. 运行功能模块的某一个:
pytest 文件名.py --allure-features’登录模块’
2. 运行某功能模块内的某子功能模块:
pytest 文件名.py --allure-stories’子功能模块’

五、feature和story的关系
feature相当于一个功能,一个大的模块,将case分类到某个feature中,报告中behaviore中显示,相当于testsuite
story相当于对应这个功能或者模块下的不同场景、分支功能,属于feature下、之下的结构,报告在feature中显示相当于testcase
feature与story相当于父子关系:在这里插入图片描述六、step特性:
测试过程中每个步骤,一般放在具体逻辑方法中
可以放在关键步骤中,在报告中显示
在app、web自动化测试当中,简易没切换到一个新的页面当做一个step
用法:
@allure.step() 只能以装饰器的形式放在类或者方法上面
with allure.step():可以放在测试用例的方法里面,但测试步骤的代码需要被该语句包含
在这里插入图片描述allure特性-issue,testcase:关联bug到bug平台
关联测试用例(可以直接给测试用例的地址链接)
关联bug(执行的时候要加个参数):
–allure-link-pattern=issue:bug地址 (eg : http://www.mytesttracker.com/issue/{} {}内填写要提交的bug号)
代码实现举例:
在这里插入图片描述
实现代码:

@allure.issue('140','Pytest-flaky test retries shows like test steps')
def test_with_issue_link():
	pass

TEST_CASE_LINK = 'case地址'
@allure.testcase(TEST_CASE_LINK,'Test case title")
def test_with_testcase_link():
	pass

# 140是bug号,后面是测试报告内bug标题
@allure.issue('140', '这是一个issue')
def test_with_issue_link():
    pass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值