【python自动化二】pytest集成allure生成测试报告

pytest本身不会直接生成测试报告,而allure是一种生成测试报告的公共插件,可与多种测试框架配合生成测试报告,本文介绍下如何集成allure生成测试报告。

1.allure安装

1.安装allure-pytest

先安装allure的pytest插件,用于在pytest测试框架下生成测试报告的基础数据,注意:这里是生成基础数据,不是直接生成测试报告,生成测试报告的工具在下一步安装

复制代码
 pip install allure-pytest

2.安装allure

这里的allure用于生成测试报告,注意allure本身依赖jdk

1.jdk环境确认

确认本地安装过jdk即可(jdk8及以上),若未安装,可参考链接: jdk安装

2.allure安装

allure官网地址:https://allurereport.org/

allure下载地址:https://github.com/allure-framework/allure2/releases/tag/2.32.0

这里我直接下载了个zip包

1.将zip包解压到本地

2.配置环境变量,将allure包对应的bin目录配置到环境变量Path中

3.检查allure是否安装成功

在cmd命令行中输入allure回车,有相应的提示即可

2.生成报告

1.生成报告数据

我们在执行pytest时加生成allure测试报告数据的参数即可

复制代码
pytest --alluredir=./report/tmp  # --alluredir=后为指定测试报告数据的生成路径

当然我们也可以直接配置在pytest.ini文件里,这样就不用每次执行的时候输入allure相关的参数

后面的--clean-alluredir是每次执行清除上次的数据

复制代码
addopts =  --alluredir=./report/tmp --clean-alluredir  # ./report/tmp这个路径如果没有会自动生成

其中,生成的测试报告数据都以json格式存储,日志以txt存储,附件以attach存储;这里直接在命令行中执行pytest就可以生成数据了。

我这个工程还未配置日志,也没有生成附件,所以目前只有json文件,这个我们后面再加

2.生成报告

生成报告的命令为:

复制代码
 allure generate report\tmp -c -o report\allure-report

其中:

report\tmp:为测试报告数据的路径,生成测试报告时会从这个路径中取值

-o report\allure-report:指定allure报告生成的位置

-c report\allure-report:新allure报告生成前先将之前的报告清除

3.打开报告

此时我们直接打开index.html,可以发现页面展示为空

可以看出来,这里不同于jacoco等工具,数据未直接嵌在报告里,而是通过起服务的方式实时获取的

打开报告命令

复制代码
allure open report\allure-report

输入后回车即打开报告页面(此时页面比较简单)

这里可以看到服务是开着的

ctrl+c即可退出

当然我们也可以用这个命令启动服务

复制代码
allure serve report\allure-report -p 8081

其中,可以加入如下参数

-h(--host):指定域名地址

-p(--port):指定端口号

实际测试下来,allure open和allure serve并没有多大区别,都能启动服务,都能自动打开报告页面,都能在别的机器上访问 。

到这里,就是利用allure生成测试报告的全部过程了。后续我们再丰富优化下测试报告的内容...

相关推荐
AntBlack28 分钟前
从小不学好 ,影刀 + ddddocr 实现图片验证码认证自动化
后端·python·计算机视觉
凪卄121343 分钟前
图像预处理 二
人工智能·python·深度学习·计算机视觉·pycharm
巫婆理发2221 小时前
强化学习(第三课第三周)
python·机器学习·深度神经网络
seasonsyy1 小时前
1.安装anaconda详细步骤(含安装截图)
python·深度学习·环境配置
半新半旧1 小时前
python 整合使用 Redis
redis·python·bootstrap
Blossom.1182 小时前
基于深度学习的图像分类:使用Capsule Networks实现高效分类
人工智能·python·深度学习·神经网络·机器学习·分类·数据挖掘
CodeCraft Studio2 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
悠哉悠哉愿意2 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
封奚泽优2 小时前
使用Python实现单词记忆软件
开发语言·python·random·qpushbutton·qtwidgets·qtcore·qtgui
RPA+AI十二工作室3 小时前
影刀RPA_抖音评价获取_源码解读
运维·机器人·自动化·源码·rpa·影刀