自动化学习笔记三:Allure
Allure测试框架
allure介绍
多语言多平台;炫酷;可继承到jenkins
官网:http://allure.qatools.ru/
文档:https://docs.qameta.io/allure/#
allure安装
windows
下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
1.解压->进入bin目录->运行allure.bat
2.把bin目录加入到PATH环境变量
3.命令行输入:allure,打印出帮助信息说明安装成功
安装allure-pytest;依赖java1.8
allure特性分析
场景:希望在报告中看到测试功能。子功能或场景。测试步骤。包括测试附加信息
解决:@Feature,@story,@step,@attach
步骤:import allure
功能上加:@allure.feature('功能名称')
子功能上加:@allure.story('子功能名称')
@allure.title("标题"),添加title,title里传参数{xxx}的话不用在""前面加f
步骤上加:allure.step('步骤细节')
用法一:with allure.step("xxx"):
可以放在测试方法用例里,但是测试步骤的代码需要被该语句包含
用法二:@allure.step("xxx")
以装饰器的形式放在类或者方法上面
注意:在app,web自动化测试中,建议每切换到一个新的页面当作一个step
@allure.attach('具体文本信息'):需要附加的信息,可以是:数据、文本、图片、视频、网页
如果只是测试登录功能,命令行运行的时候可以加限制进行过滤
pytest 文件名 --allure-feature”购物车功能“--allure-stories”加入购物车“
注意windows这里的功能名要加双引号
功能和子功能都可以单独执行,修改命令可以只执行功能或者只执行子功能
allure特性-testcase
关联测试用例(可以直接给测试用例的地址链接):
可以在自动化用例里加入手动用例的链接,方便查看手工操作
例子:
TEST_CASE_LINK = 'https://github/com/xxx' @allure.testcase(TEST_CASE_LINK,'casetitle') def test_with_testcase_link(): pass
按重要性级别进行一定范围测试
场景:通常测试有P0,冒烟测试、验证上线测试。按重要性界别分别执行的,比如上线要把主流程和重要模块都跑一遍
解决:
1. 通过附加pytest.mark标记
2. 通过allure.feature;allure.story
3. 通过allure.serverity来附加标记
级别:Trivial(不重要):轻微缺陷(必输项无提示,或者提示不规范)
级别:Minor(不太重要):次要缺陷(界面错误与UI需求不符)
级别:Normal(正常问题):普通缺陷(数值计算错误)
级别:Critical(严重):临界缺陷(功能点缺失)
级别:Blocker(阻塞):中断缺陷(客户端程序无响应,无法执行下一步操作)
以上分级为软件测试分级,游戏测试会有区别:软件以解决问题为目标;游戏以提供体验为目标
步骤
在方法,函数或类上面加:@allure.serverity(allure.serverity_level.TRIVIAL)
命令行执行:pytest -s -v 文件名 --allure-serverities normal,critical
allure运行
在测试执行期间收集结果:pytest [测试文件] -s -q --alluredir=./result/
--alluredir=这个选项用于指定测试结果的存储路径
--alluredir前面可以加--allure-feature=”购物车功能“指定测试模块
查看测试报告
方式一:测试完成后查看实际报告,在线看报告,会直接打开默认浏览器展示当前报告
allure serve ./result/
方式二:从结果生成报告,这是一个启动tomcat的服务,需要两个步骤:生成报告;打开报告
生成报告:allure generate ./result/ -o ./report/ --clean-alluredir
-o ./report:生成到指定文件夹;不加的话默认生成到当前目录下的文件夹
注意:要覆盖路径,清除原有的测试结果的话,加:--clean-alluredir
打开报告:allure open -h 127.0.0.1 -p 8883 ./report/
注意:手动打开html时注意双击无法启动服务,需要右键选择启动方式
给用例起别名
@allure.title("new name")
allure报告中嵌入文本、图片、视频等资源
前端自动化测试-截图
场景:前端自动化测试经常需要附加图片或html,在适当的地方,适当的时间截图
解决:@allure.attach 显示许多不同类型的附件,可以补充测试、步骤或测试结果
步骤:
在测试报告里附加网页
allure.attach(body(内容),name,attachment_type,extension):
allure.attach('<head></head><body>首页</body>','这是错误页的结果信息',allure.attachment_type.HTML):
在测试报告里附加图片
allure.attach.file(source,name,attachment_type,extension)
allure.attach.file("./result/b.png",attachment_type=allure.attachment_type.PNG)
# 这里还可以.出来JPG,MP4,TEXT等等
# 不指定name=的话会随机一个字符串作为名字
pycharm参数配置
打开界面右上的运行记录:在Additiona Arguments:里添加想要运行结束后执行的命令行参数
浙公网安备 33010602011771号