系列分享
在测试的过程中,总会执行完毕,需要运行产生对应的测试报告,那么我们在执行的pytest的测试,也需要产生测试报告,
我们可以产生xml文件的测试报告
pytest p_test.py --junitxml=report.xml
产生结果
我们看下测试报告的文件:
我们可以在浏览器中打开。
这样不便于查看,我们可以产生对应html报告,
安装如下
pip install pytest-html
执行
pytest --html=report.html
结果:
报告页面
但是我们发现,我们的测试报告中的css是分离开的,在我们的实际中,需要单独发送的时候是不需要分开的,不然会丢掉样式,那么应该如何做呢
pytest --html=report.html --self-contained-html
执行完毕
我们可以对比之前的测试报告
显然测试报告的css进行合并了,方便我们去邮件发送。
很多人感觉这样做不好看,可以用allure,我们首先在系统安装环境变量。
windows安装
安装
allure包下载:https://github.com/allure-framework/allure2/releases
解压 -> 进入bin目录 -> 运行allure.bat,
把bin目录加入PATH环境变量
或在mac上安装可以参考
brew install allure
我们安装pytest的依赖
pip install allure-pytest
执行
pytest test_11.py --alluredir=result
然后执行
allure serve ./result/
然后出现
我们之间访问对应地址即可
我们可以分别看很多信息
如果我们远程要看结果的话可以做如下执行
用allure测试报告还可以如下坐展示,执行下面命令
allure generate ./result/ -o ./report/ --clean
然后打开报告
allure open -h 127.0.0.1 -p 8883 ./report/
在浏览器远程打开
我们可以看到
在 allure 报告首页 ENVIRONMENT 显示 'There are no environment variables' 没有环境变量的配置信息。
环境变量配置可以添加报告相关的配置参数,如运行的系统环境,版本号,测试环境,测试人员等基本信息。
解决方案
增加environment.properties到report目录即可,我们执行的时候,可以会删除,我们在服务的时候,可以cp下即可。
systemVersion=mac
pythonVersion=3.7.9
allureVersion=2.13.3
baseUrl=http://127.0.0.1:8883
projectName=testone
author=leizi
email=https://www.cnblogs.com/leiziv5/
blog=https://www.cnblogs.com/leiziv5/
结果: