allure介绍
简而言之: Allure是一种框架,输出网页测试报告 (有图文字,比较好看的)
allure安装
第一步: 确保你已经安装了JDK (因为这个框架是基于Java写的)
第二步: 下载allure,路径:https://github.com/allure-framework/allure2/releases,然后解压
第三步:然后进入bin目录,复制当前路径,将其添加进path环境变量。
第四步: 在你自己的所需项目中,安装allure-pytest库。(打开Pycharm你的项目-->左下角Terminal-->输入命令-->等待下载成功,成功会出现successful字样)
pip install pytest-allure
怎么去用?怎么去生成报告?
之前我们是这样写的:(通过pytest生成测试报告)
import pytest
if __name__ == '__main__':
pytest.main()
现在我们要用上allure,就这么写(只是举个例子,不要直接复制粘贴了):
import pytest
import os
if __name__ == '__main__':
# 生成json文件
pytest.main(['-vs', '--clean-alluredir','--alluredir=allure_json_path'])
# 生成html文件
os.system("allure generate allure_json_path -o allure_html_path --clean")
什么意思呢? 解析一下这段代码:
第一句: 执行case,并生成json格式报告
(1) -s -v是跑case时显示详细case数据信息和打印信息,你不需要查看,也可以不加;可以分开写'-v','-s' ,也可以直接'-vs'
(2) --clean-alluredir是清空之前文件夹下面的报告
(3)–alluredir=XXX ,表示指明生成报告的路径是什么(即生成的这个json,你要放哪里?); 我这里叫allure_json_path,你要叫什么就叫什么,改成自己的就行了
第二句:将json格式转化为html格式
为啥又转html格式?----->执行case后,生成的报告是json格式,不能直接打开,所以我们需要转化为html格式,网页才能打开;输入下面的命令:
Allure generate 生成json报告的路径 -o 生成html的路径 (套这个公式)
上面说了,我的生成json报告的路径叫allure_json_path,我的生成html的路径叫allure_html_path,然后我就套上面的公式,得到我代码的第二句,这里也是你自己的叫什么你套进去就行了
好了,这两句写完了,我们就要打开这个html报告来看一看,在Terminal里面输入下面的命令:
allure open 生成html格式报告路径 (套你的路径进去)
以我的为例子,就是: allure open allure_html_path
那我不想通过html,那你也可以直接打开json文件来看一看,那就输入这个命令:
allure serve 生成的json报告路径 (套你的路径进去)
以我的为例子,就是 : allure serve allure_json_path
两种方式自己选择啦~~~~~
allure报告长啥样?
如图~
贴一个补充知识:
注:①在allure-report下index.html文件是不能直接打开的,出现页面都是loading的情况,这是因为直接allure报告用浏览器是打不开的,需要用allure命令渲染之后打开才能展示效果。
②allure使用了两种方式来渲染页面。分别是 allure open 和 allure serve。前者用于在本地渲染和查看结果,后者用于在本地渲染后对外展示结果。
尾声
参考文章: