【pytest】pytest的几种运行方式,尤其最后一种调试很方便

简介: 【pytest】pytest的几种运行方式,尤其最后一种调试很方便

接口自动化测试中,我们在调试bug时候使用当个文件执行的话其实是很费时间的,如果没有上下测试方法依赖关系的话,其实是可以单个执行指定测试方法的,借此总结了几种执行测试用例的方法:

一、执行全部用例

pytest.main()

二、指定模块执行用例

pytest.main('[-vs],','py文件的路径')

例如:

pytest.main('[-vs],','./testcase/test_demo1.py')  #只运行testcase 下的test_demo1.py 文件

三、指定目录执行用例

pytest.main('[-vs]'),'测试目录的路径')

例如:

pytest.main('[-vs]'),'./testcase')    #只运行testcase 目录下的文件

四、指定测试类执行用例

pytest  py文件的路径::类名

例如:

pytest.main(["-vs"],'./interface_testcase/test_demo1.py::TestLogin')

五、指定测试方法执行用例

pytest py文件的路径::类名::方法名

例如:

pytest.main(["-vs"],'./interface_testcase/test_demo1.py::TestLogin::test_func01')

六、 使用pytest.mark标记函数

@pytest.mark.标记名

执行测试的时候使用 pytest -m 标记名

pytest -m 标记名

参数详解:

-s:表示输出调试信息,包括print打印的信息

-v显示更详细的信息

-vs一起使用

-n支持多线程或者分布式运行测试用例

pytest.main(['-vs','./testcase/test_day1.py','-n=2'])
pytest -vs ./testcase/test_day1.py -n 2

reruns==number 表示失败用例重跑

pytest -vs ./testcase/test_day2.py --reruns 2
pytest.main(['–vs','./testcase/test_day2.py',‘reruns=2']) #失败的用例重跑两次

-x表示只要一个用例报错,那么测试停止运行

–maxfail=2 出现两个失败用例停止

-k 根据测试用例的部分字符串指定测试用例

pytest -vs test_day2 -k “yang”

3、通过读取pytest ini配置文件运行 (最主要运用的方式)

pytest.ini是pytest单元测试框架中的核心配置文件

(1)位置:一般是放在项目的根目录

(2)编码:必须是ANSI,可以使用notepad++来修改编码格式

(3)作用:改变pytest的默认行为

(4)运行的规则:不管是主函数的模式运行该,命令行模式,都会区读取这个配置文件

常用参数

addopts 命令行的参数,用空格分隔

testpaths 测试用例的路径

markers 标记参数,赋值方式为 key:value

python_files 模块的命名规则 xx.py

python_classes 类名的命名规则 Xxx

python_functions 方法的命名规则 **

required_plugins 插件的使用

xfail_strict = true 禁用xpass

相关文章
|
监控 Python
logging的基本使用教程
这篇文章提供了Python `logging` 模块的基本使用教程,包括如何配置日志级别和格式、记录不同级别的日志消息,以及如何将日志输出到文件。
|
Java 中间件 应用服务中间件
慎重!springboot中用undertow踩坑记
场景:准备基于springboot的静态资源实现mp4资源的播放,不同版本的springboot下效果不一样,可能导致正常的资源不可用。本文测试了几个版本,也针对这种情况提出了解决建议,希望对你的工作有所帮助。
2635 0
慎重!springboot中用undertow踩坑记
|
8月前
|
关系型数据库 MySQL PHP
bugfree缺陷管理工具部署步骤详解(附PHP+MySQL环境准备与安装教程)
BugFree是一款开源的轻量级缺陷管理工具,专为跟踪Bug生命周期设计,支持发现、分配、修复与验证全流程。部署简单:解压后配置PHP+MySQL环境(建议PHP 5.2–5.6)、建库、修改数据库连接参数,访问安装向导即可完成。适用于开发、测试及项目管理团队。
|
4月前
|
数据可视化 jenkins 测试技术
Python + Pytest 接口自动化测试方案
本文介绍一套企业级Python+Pytest接口自动化测试框架,覆盖接口封装、YAML数据驱动、Allure可视化报告及Jenkins CI/CD集成,结构清晰、开箱即用,助力测试工程师高效落地自动化,支撑从小型项目到大型分布式系统的质量保障。
538 0
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
162956 65
|
JavaScript 测试技术 API
Playwright自动化测试系列(3) | 第二阶段:核心技能与调试 ​​交互操作大全
本课程为Playwright自动化测试第三阶段,深入讲解核心交互操作与调试技巧。涵盖基础到高级交互、文件上传下载、疑难问题解决及复杂场景应对,并提供稳定性优化方案,帮助开发者高效构建健壮的自动化测试脚本。
|
开发框架 Java .NET
Python中main函数:代码结构的基石
在Python中,`main`函数是程序结构化和模块化的重要组成部分。它实现了脚本执行与模块导入的分离,避免全局作用域污染并提升代码复用性。其核心作用包括:标准化程序入口、保障模块复用及支持测试驱动开发(TDD)。根据项目复杂度,`main`函数有基础版、函数封装版、参数解析版和类封装版四种典型写法。 与其他语言相比,Python的`main`机制更灵活,支持同一文件作为脚本运行或模块导入。进阶技巧涵盖多文件项目管理、命令行参数处理、环境变量配置及日志集成等。此外,还需注意常见错误如全局变量污染和循环导入,并通过延迟加载、多进程支持和类型提示优化性能。
1292 0
|
XML 算法 数据格式
已解决 ZeroDivisionError: float division by zero 。
已解决 ZeroDivisionError: float division by zero 。
1123 156
|
Linux 数据安全/隐私保护 Python
LInux下 python混淆代码打包产出exe
安装 PyArmor 加密Python程序:使用`pip install pyarmor`。为避免混淆 venv 目录,可指定排除此目录:`.\/venv\/bin\/pyarmor-7 pack -e \"--onefile\" -x \"--exclude venv\" main.py`。查阅详细文档:[官方指南](https://pyarmor.readthedocs.io/zh/v7.x/advanced.html)。

热门文章

最新文章