Pytest+Allure环境的搭建
参考博客
1. pytest的安装:
1.1. windows下:
pip install pytest
1.2. linux下:
pip install pytest
2. 安装pytest-allure-adaptor插件
2.1. windows下:
pip install pytest-allure-adaptor
3. allure的安装:
3.1. windows下:
前情提示: allure
是基于Java
的一个程序,需要Java1.8
的环境,没有安装需要去安装一下。
下载之后,将压缩包解压到一个磁盘中,我这里用的是F
盘

image
3.2. 配置allure
的环境变量

image

image
点击确定,保存。这样就可以通过CMD
使用allure
命令
3.3. 编写测试文件
pycharm
新建一个test_demo.py
文件,代码如下:
import allure
@allure.MASTER_HELPER.feature("测试Dome")
class TestDome(object):
@allure.MASTER_HELPER.step("定义被测函数")
def func(self, x):
return x+1
@allure.MASTER_HELPER.story("被测场景")
@allure.MASTER_HELPER.severity("blocker")
@allure.MASTER_HELPER.step("断言结果")
def test_func(self):
# with allure.MASTER_HELPER.step("断言结果"):
allure.MASTER_HELPER.attach("预期结果", "{}".format(self.func(3)))
allure.MASTER_HELPER.attach("实际结果", "{}".format(5))
assert self.func(3) == 5
3.4. 生成测试报告
在pycharm
中打开terminal

image
输入命令pytest -s --alluredir=report
,会遇到以下这个错误:

image
进入allure
下面的utils
文件,修改以下代码:
# utils文件,可以通过from allure import utlis进入
for suitable_name in suitable_names:
# markers.append(item.get_marker(suitable_name))
markers.append(item.get_closest_marker(suitable_name))

image
修改之后,再次运行pytest -s --alluredir=report
命令:

image
运行后,无上述错误,同时会生成一个report
文件。其中会有一个xml
格式的报告:

image

image
当然xml格式的报告不够直观,我们需要通过allure
将它转成HTML
格式的报告。通过cmd
命令cd
到report
的根目录下,执行allure generate --clean report

image
回到根目录下,会生成一个allure-report
的文件夹,在pycharm
中打开文件夹,点击index.html
运行

image
ok,到此为止。可以看到我们的精美的测试报告了

image

作者:努力学习的小白
链接:https://www.jianshu.com/p/9673b2aeb0d3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
撸起袖子加油干!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通