使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 39--生成 Allure测试报告

测试学习记录,仅供参考!

如何生成 Allure测试报告

通过命令的方式,写命令行参数来去实现生成 allure 测试报告的功能;

复制代码
import pytest

if __name__ == '__main__':
    pytest.main()

1、 在项目根目录 report 软件包文件下再新建一个名称为 temp 的目录文件(用于存放 allure 测试报告临时执行文件);

因为测试用例在运行的时候,会把 allure 测试报告执行的过程文件存放到生成的一个个临时文件中,会把测试结果都给生成一个临时文件,最后再通过这些个临时文件来去生成一个完整的页面类型的可视化界面的完整的测试报告;

生成测试报告方式方法

第一种生成方式:通过主函数命令行参数

2、开始优化主函数 run.py 文件;

第一个命令参数:--alluredir=./report/temp 报告指定生成到哪个路径

第二个参数:--clean-alluredir 每一次运行前清理上一次生成的allure报告目录

1)、pytest.main():在里面写相关的命令行参数;

2)、pytest.main(\[\]):括号里面跟一个列表

3)、pytest.main(['--alluredir=./report/temp'):--alluredir 后面跟要生成存放临时文件的路径;若 report 文件中没有 temp 文件则会新建生成一个;要运行哪个文件就写哪个文件的相对路径,例如在主函数 run.py 文件中运行,就要写 run.py 文件的相对路径 ./report/temp

4)、pytest.main('--alluredir=./report/temp', '--clean-alluredir'):命令使用逗号隔开;一般写这俩个参数就可以了;--clean-alluredir:每一次运行前清理上一次生成的allure报告目录;不清除的话每次测试结果都会叠加在一起,不是生成一个最新的结果;时间长了会导致生成很多的测试报告结果临时文件;

5)、引入 os 模块;通过 os.system() 方法去生成可视化报告;生成完之后自动打开测试报告;

6)、调用 os.system('allure serve ./report/temp'):allure serve 打开测试报告服务,后面跟目录;

运行完成之后,在本地计算机启动一个 allure 服务,自动去打开 allure 测试报告;

复制代码
# 导包
import pytest
import os

if __name__ == '__main__':
    # 括号里面跟一个列表 -- 两个杠 alluredir 生成的路径--要写run.py的相对路径 ./report/temp
    # --clean-alluredir 每一次运行前清理上一次生成的allure报告目录
    pytest.main(['--alluredir=./report/temp', '--clean-alluredir'])
    # 引入os模块,调用system方法里面使用allure serve 打开测试报告
    os.system('allure serve ./report/temp')

在测试用例执行时,把测试用例执行结果存放到临时文件里面去,最后通过 allure serve 命令将临时文件生成一个完整的网页报告;就是先生成临时文件再生成网页测试报告;

查看生成的 Allure 网页测试报告

3、运行主函数 run.py 文件;能够成功自动打开 allure 网页测试报告(烦请自行查看);

4、例如:若发生找不到文件或目录等错误提醒则注意命令行参数中等号前后的空格问题"--alluredir =./report/temp" ;

5、可以看到生成的 allure 测试报告有些模块是没有信息显示内容,还不是很完善;这是一个最基本的测试报告;其他测试报告的内容后续再另行添加优化;

第二种生成方式:通过 pytest.ini 配置文件

6、把命令行参数放到 pytest.ini 配置文件中去;优化项目根目录下 pytest.ini 配置文件内容;

命令参数之间使用一个空格隔开;

复制代码
[pytest]
addopts = -vs --alluredir=./report/temp --clean-alluredir

testpaths = ./testcase

python_files = test_*.py

python_classes = Test*

python_functions = test_*

markers =
    last
    first
    second
    P1
    P2

7、优化主函数 run.py 文件,通过配置文件去管理;

复制代码
import pytest
import os

if __name__ == '__main__':
    pytest.main()
    os.system('allure serve ./report/temp')

8、运行主函数 run.py 文件;亦能够成功;所以把命令行参数放到配置文件中去和放到主函数运行里面去都可以去实现,前提是测试结果存放的临时文件路径要与生成测试报告目录路径一样;

未完待续。。。

相关推荐
打工仔折腾 AI18 分钟前
网易UU远程实测:手机控电脑做Python开发和Agent调试的真实体验
人工智能·后端·python·智能手机·性能优化·电脑·ai agent 实战
边境悍匪22 分钟前
蜗牛学苑 Java 智能体学习 Day49|贯穿项目 5 订单下单业务 思维导图复盘
java·开发语言·spring boot·学习·阿里云
轩轶子23 分钟前
Python CLI Todo:一次数据结构错误引发的 Bug
数据结构·python·bug
“AI国潮设计-小江”26 分钟前
【AIGC实战】Python+SDXL打造潮汕国潮IP:英歌舞麻将的自动化生成与商用思路
开发语言·人工智能·python·prompt·aigc
zh路西法29 分钟前
【上手一只MicroDuck】:(一)从机器人结构到强化学习训练框架
python·强化学习·huggingface·ppo·mujoco·microduck
别动我齐刘海33 分钟前
ROS2 Jazzy + C++ 时间系统——Time / Clock / Duration
linux·c++·人工智能·学习·机器学习·机器人·自动驾驶
小范的技术工坊37 分钟前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型
索端阳39 分钟前
I.MX6ULL 裸机开发:LCD Framebuffer 与 RGB888 学习笔记
笔记·vscode·嵌入式硬件·学习
alphaTao1 小时前
LeetCode 每日一题 2026/9/21-2026/9/27
python·算法·leetcode
计算机源码社1 小时前
【27届大数据毕设】基于Spark的AI艺术创作者价值评估与市场趋势预测研究 基于Python与Spark的AI生成艺术受众画像及异常热度识别可视化平台
大数据·人工智能·hadoop·python·spark·毕业设计·课程设计