安装allure命令行
上传allure的zip包
使用rz命令将allure-commandline-2.12.1.zip上传到服务器的/opt目录下
解压
unzip allure-commandline-2.12.1.zip
配置环境变量
将解压后allure下bin目录的路径/opt/allure-2.12.1/bin
配置进环境变量
vim /etc/profile
# 在PATH后追加以下内容,保存
:$PATH:/opt/allure-2.12.1/bin
# 使环境变量生效
source /etc/profile
验证
在命令行输入allure --version,能出现版本说明allure命令行已经安装成功了
allure --version
安装allure_pytest
allure_pytest是对allure需要的json文件的生成做的一个插件
pip3 install -y allure_pytest
基本用法
allure.epic
定义史诗
allure.feature(常用)
大的功能模块,比如登录功能
allure.story(常用)
大功能下的子功能,比如登录模块下的正常登录、不填手机号登录等
、
allure.title
用例的标题
allure.severity(常用)
用例的优先级,主要分为以下五个:
- blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
- critical级别:临界缺陷(功能点缺失)
- normal级别:普通缺陷(数值计算错误)
- minor级别:次要缺陷(界面错误与UI需求不符)
- trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
比如我们可以给正常登录用例给个blocker的级别,因为登录失败影响后续操作,给不填手机号登录给个critical级别
allure.tag
给测试方法打标签,标签可以有多个,比如给正常登录打2个标签:最重要,回归测试,给不填手机号登录打1个标签:次重要。注意实际运行时把pytest.mark.smoke中的smoke也作为tag了
allure.testcase
allure报告关联测试用例的地址
allure.issue
allure报告关联jira的bug,allure.issue有两个参数,第一个是bug的地址,第二个是bug的名字
allure.description
测试用例的描述,当然你也可以使用@allure.description_html
,或者在测试方法中使用""" """ 注释
allure.step(常用)
定义的测试步骤,由于我们的框架设计,这个步骤主要定义在page_objects目录下的各个页面对象中,以登录为例:
allure.attch(常用)
添加附件,可以是文本或者图片,一般用来添加失败截图,由于我们的失败截图功能是在conftest.py中,因此需要修改conftest
allure.link
定义链接,在测试报告中展示
报告预览
allure serve allure_reports #allure_reports是存放json文件的目录
如果你访问不到,记得检查下防火墙是否关闭,没有就把它关了
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
然后访问浏览器,http://虚拟机ip:端口
生成报告
allure生成测试报告要求对应的报告目录必须是空目录,实际场景中上次运行已经生成了报告,下次运行后又要再生成,可以利用--clean先清空目录,然后生成测试报告
allure generate allure_reports -o allure_reports/html --clean #allure_reports为存放json文件的目录,allure_reports下面的html目录为存放html报告的目录
参考文章
《Python学习笔记|python之allure报告》
《使用 allure 测试报告以后,我受到了公司嘉奖》
《allure-pytest的报错截图添加到报告》
《allure描述用例详细讲解》
《pytest框架优化——将异常截屏图片加入到allure报告中》