pytest 用例运行方式

一、命令行方式运行

执行某个目录下所有的用例,符合规范的所有用例

进入到对应的目录,直接执行pytest; 例如需要执行testcases 下的所有用例; 可以进入testcases 目录; 然后执行pytest

进入对应目录的上级目录,执行pytest 目录名称/ ; ; 例如需要执行testcases 下的所有用例; 可以在study_project 目录; 然后执行pytest testcases/

执行某一个py文件下用例

pytest 脚本名称.py

运行.py模块里面的某个函数

pytest test_mod.py::TestClass

运行.py模块里面的某个函数

pytest test_mod.py::test_func

运行.py模块里面,某个测试类

pytest test_mod.py::TestClass

运行.py模块里面,测试类里面的某个方法

pytest test_mod.py::TestClass::test_method

多种组合

pytest test_mod1.py::TestClass::test_method test_mod2.py

标记运行

pytest -m login 运行标记为login 的用例

二、main方法运行

一般在项目根目录指定需要运行的路径和参数

三、通过全局配置文件pytest.ini

pytest.ini应该放哪里?就放在项目根目录下 ,不要乱放,不要乱起其他名字

常用的配置项

marks

作用:测试用例中添加了 @pytest.mark.webtest 装饰器,如果不添加marks选项的话,就会报warnings

格式:list列表类型

写法:

# mark

markers =

``smoke:冒烟用例

order``: 订单用例

``product: 商品用例

更改测试用例收集规则

pytest默认的测试用例收集规则

  • 文件名以 test_*.py 文件和 *_test.py
  • 以 test_ 开头的函数
  • 以 test 开头的类,不能包含 init 方法
  • 以 test_ 开头的类里面的方法

我们是可以修改或者添加这个用例收集规则的;当然啦,是建议在原有的规则上添加的,如下配置:

testpaths=testcases/test_study/

python_files =test_* *_test test*

python_classes =Test* test*

python_functions =test_* test*

备注: testpaths=testcases/test_study/ 如果在项目根目录执行pytest,那么就会以当前执行目录为相对路径,执行根目录下的testcases下的test_study下的文件会执行;其他不执行

例如:

输出:

addopts

作用:addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作

# 例如命令行参数,失败重跑两次,一共运行两次,生成测试报告

addopts = -v --reruns=``1 --count=``2 --html=reports.html --self-contained-html -n=auto

log_cli

作用:控制台实时输出日志

格式:log_cli=true 或false(默认),或者log_cli=1 或 0

相关推荐
Sylvia33.1 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想2 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈4 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
测试者家园5 小时前
为什么意图驱动测试是自动化测试的下一站,而不是替代品
自动化测试·软件测试·人工智能·持续测试·ai赋能·智能化测试·软件测试变革
2601_962299246 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
志栋智能7 小时前
超自动化运维如何支持合规审计?
运维·自动化
weixin_440730507 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
学术 学术 Fun7 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
2601_962100548 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
二进制漫游记9 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding