首页 > 其他分享 >Pytest之生成allure报告

Pytest之生成allure报告

时间:2023-03-01 22:55:43浏览次数:39  
标签:__ allure Pytest pytest 生成 -- html report

一、前戏

在之前我们已经学会使用 pytest-html 插件生成 html 格式的测试报告:

 1 # 第一步,安装插件
 2 pip install pytest-html
 3 ​
 4 # 第二步,执行用例时使用 --html 参数
 5 ## main 函数中执行
 6 if __name__ == '__main__':
 7     pytest.main(["-vs", "--html=./report/result.html"])
 8     
 9 ## 使用命令模式执行
10 pytest -vs --html ./report/result.html

很明显报告的效果配不上我们高大上的逼格.......除了 pytest-html 插件,pytest 还可以和 allure 结合,生成更加详细美观的测试报告。

二、allure的使用

  • 第一步,下载第三方插件

pip install allure-pytest
  • 第二步,访问 allure 官网,下载最新的版本

网址:https://github.com/allure-framework/allure2/releases

  • 第三步,解压并配置环境变量,将解压后的一直到 bin 目录的文件路径添加到计算机环境变量的 path

  • 第四步,验证是否配置成功(如果 IDE 的终端中无法执行检查版本的命令,重启 IDE 即可)

  • 第五步,在项目的配置文件 pytest.ini 中添加参数 --alluredir ./tmp

1 [pytest]
2 addopts = -vs --alluredir ./tmp
3 testpaths = .
4 python_files = test_*.py
5 python_classes = Test*
6 python_functions = test

这个参数的作用是在用例执行时,会在临时文件夹 tmp 中生成很多 json 文件,这些文件记录了用例执行过程中的相关信息,最后生成报告使用到的数据就是从 json 中获取的。

  • 第六步,执行完用例后运行命令生成报告

allure generate ./tmp -o ./report --clean

# 参数详情
# ./tmp:存放临时 json 数据的目录
# -o:表示输出 output
# ./report:测试报告存放目录
# --clean:清空 report 目录中原有的数据

为了方便起见,我们一般会把生成报告的命令直接写在主函数里面:

1 # 根目录下新建一个 all.py
2 import pytest
3 import os
4 ​
5 if __name__ == '__main__':
6     pytest.main()  # 执行项目中所有用例
7     os.system("allure generate ./tmp -o ./report --clean")  # 生成allure测试报告

最后报告会生成在 report 目录下:

 

标签:__,allure,Pytest,pytest,生成,--,html,report
From: https://www.cnblogs.com/cdc1216/p/17154307.html

相关文章

  • Pytest 固件
    一、固件使用背景在执行测试用例时,我们常常需要在测试用例执行的前后去完成一些额外的操作。例如针对于Web测试,在用例执行前需要打开浏览器,完成用户登录等一系列前置操......
  • unittestreport生成报告介绍
    ​ unittestreport主要有以下几个作用       接口用例HTML测试报告生成。        测试用例失败重运行。        发送测试结果及报告到邮箱......
  • 若依代码生成
      新增你要操作的数据库信息  新增成功之后这个页面就会导入你要操作的库然后在代码生成这边就会自动导入你要操作的库的所有表  然后选择你要生成的表然......
  • js生成文字水印
    //生成水印watermark({watermark_txt:data[0].HTMC}); //js给html生成水印functionwatermark(settings){//默认设置var......
  • 数夫生成VMI采购订单时提示物料编码和供应商为空
    物料和供应商都必须设置VMI业务   ......
  • Docker生成镜像
    Docker生成镜像 dockercommit:提交为新镜像:dockercommit-m="描述消息"-a="作者"容器ID或容器名镜像名:TAG#例:#dockercommit-m="修改了首页"-a="华......
  • vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带
    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地实现思路:将vue界面的echarts组件生成图片,然......
  • 搭建stable-diffusion-webui环境,使用ai生成图片
    首先python版本要求:Python3.10 第一步下载框架代码:https://github.com/AUTOMATIC1111/stable-diffusion-webui.gitgithub慢的话把域名换成https://kgithub.com/ ......
  • VSCode通过snippet generator生成自定义代码片段
    在线地址:https://snippet-generator.app/ 在VSCode左下角设置中找到“用户代码片段”进行添加  删除代码片段文件创建后会一直保存在本地电脑中,无法直接在VSCod......
  • 力扣20-有效的括号&力扣22-括号生成
    有效的括号原题链接:https://leetcode.cn/problems/valid-parentheses/题目描述给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:......