allure安装和使用
一、allure安装
1.安装jdk1.8+
2.安装allure
[https://repo1.maven.org/maven2/io/qameta/allure/allure-commandline/2.13.7/]下载.zip,解压
3.配置环境变量
把jdk和allure下面bin目录地址放进去
C:\Program Files\Java\jdk1.8.0_91\bin;D:\allure-2.13.7\bin
安装完成后cmd里面输入allure --version
4.pycharm里面安装插件allure-pytest
安装完成
二、allure使用
1. 生成报告
1.pytest -sq ***.py --alluredir=./result/1
2.pytest serve ./result/1生成一次性报告
3.pytest generate ./result/1 -o ./report/1生成并保存报告
4.allure open -h 192.168.1.104 -p 3772 ./report/1
192.168.1.104显示地址 3772监听端口
2.常用特性
2.1添加功能信息,子功能信息,测试步骤
@feature
@story
@step
@allure.step(‘’)只能放在类或者方法上面
with allure.step(’’): 可以放在函数里面
加–allure-feature或者–allure-stories就可以执行指定的代码块
2.2添加文本,图片,html代码块
import allure
def test_attach_text():
allure.attach('这是一个纯文本', name='文本', attachment_type=allure.attachment_type.TEXT)
def test_attach_htm():
allure.attach("<body>body > 这是一个html代码块div.app.app--light > div.layout > div.layout__panel.flex.flex--row > div > div.layout__panel.flex.flex--row > div.layout__panel.layout__panel--editor > div.editor</body>",name='这是一个html文本快',attachment_type=allure.attachment_type.HTML)
def test_attach_photo():
allure.attach.file(source="E:\重要照片\\100CANON\IMG_8485.JPG", name='照片', attachment_type=allure.attachment_type.JPG)
2.3添加链接,Bug链接,测试用例链接
添加链接
@allure.link(‘https://www.baidu.com’,name=‘链接’)
测试用例链接
TESTCASELINK='www.jsiyonglixitong.com/BIM5Dxiangmu/app'
@allure.testcase(TESTCASELINK,name='测试用例管理平台')
def test_attach_text():
allure.attach('这是一个纯文本', name='文本', attachment_type=allure.attachment_type.TEXT)
Bug链接
#139是相关bug的ID
@allure.issue('139','这个一个bug')
def test_attach_text():
allure.attach('这是一个纯文本', name='文本', attachment_type=allure.attachment_type.TEXT)
执行命令行输入
pytest addallure.py --alluredir=./result/2 --allure-link-pattern=issue:http://www.mytesttrack.com/issue/{}
pytest ***.py --alluredir=结果保存地址 --allure-link-pattern=issue:链接地址{}
打开链接,方才命令行里输入的地址+方法上面写入的bug 的ID
2.4测试用例分等级
在方法上面添加
@allure.severity(allure.serverity_lever.critical)等不同级别,标记等级
执行时
pytest -sq ***.py --alluredir=./result/3 --allure-severities normal,blocker,critical
可以执行normal,blocker,critical三个级别的用例