Pytest之收集用例及命令行参数
VOL 146
28
2020-07
今天距2021年156天
这是ITester软件测试小栈第146次推文
点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 07:30准时推送。
微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信群”一起打怪升级。
本文2010字,阅读约需7分钟
在上一篇Pytest系列文章:Pytest之基本介绍,主要介绍Pytest特点、安装配置及简单运行。
以下主要介绍:Pytest的用例收集规则及命令行参数详解。
一
用例收集
1
用例收集规则
从一个或者多个目录开始查找,你可以在命令行指定文件或者目录,如果未指定那么从当前目录开始收集用例;
在该目录和所有子目录下递归查找测试模块;
测试模块是指文件名为
test_*.py
或者*_test.py
的文件;在测试模块中查找以
test_
开头的函数;查找名字以
Test
开头的类。其中首先筛选掉包含__init__()
函数的类,再查找类中以test_开头的类方法。
2
运行收集的用例
现有项目结构如下:
具体代码:
login/test_login.py
class TestLogin:def test_demo01(self):a = 1assert a == 1def add(self):b = 1c = 2assert b + c == 3
pay/test_pay.py
def test_pay():name = "vivi"assert "v" in name
test_demo.py
def test_demo02():print("这是demo02")a = 1assert a == 1
3
运行测试用例
切换到项目路径,在命令行输入:pytest -v
输出结果为:
根据用例收集规则,TestLogin类中add方法不是以test开头,所以pytest不会收集。
二
命令行参数
1
查看命令行参数
命令行模式下,输入:pytest --help
说明:出现详细的命令行参数。
2
命令行参数详解
① pytest -v
说明:可以输出用例更加详细的执行信息,比如用例所在的文件及用例名称等。
② pytest -s
说明:输出用例中的调式信息,比如print的打印信息等。
test_demo.py
def test_demo02():print("这是demo02")a = 1assert a == 1
命令行输入:pytest -s test_demo.py
③pytest -m
说明:用于标记测试并分组,执行特定的测试用例。
这个在后续打标记文章详细解释,此处暂不介绍。
④pytest -k
说明:可以通过表达式运行指定的测试用例。
比如使用命令:pytest -k "test_demo01 or test_demo02",就会指定运行test_demo01和test_demo02两条用例。
⑤pytest -q
说明:简化输出信息。
⑥pytest -x
说明:遇到错误或者用例不通过,则退出执行。
手动将login/test_login.py中的用例改成不通过。
输入命令:pytest -v -x
收集用例3个,但第二个test_demo01用例执行失败,就会全局停止执行,所以第三个用例将不会执行。
⑦pytest --lf
说明:--last-failed 只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)。
命令行输入: pytest -v --lf
通过运行结果看出,本次用例只是运行了上次运行错误的测试用例test_demo01。
⑧pytest --ff
说明:--failed-first,先执行完上次失败的测试后,再执行上次正常的测试用例。
输入命令:pytest -v --ff
通过运行结果看出,本次运行,先运行了上次失败的用例,然后执行正常的测试用例。
⑨pytest --maxfail=num
说明:用例运行时,允许的最大失败次数,超过则立即停止执行。
输入命令:pytest -v --maxfail=2
⑩ 运行指定用例
模块、类、函数及方法之间用::进行分割。
我们先看下之前运行的结果图。
比如想运行TestLogin类下的测试用例。
使用命令:pytest -v login/test_login.py::TestLogin
以上
That‘s all
更多系列文章
敬请期待
ITester软件测试小栈
往期内容宠幸
1.Python接口自动化-接口基础(一)
2.Python接口自动化-接口基础(二)
3.Python接口自动化-requests模块之get请求
4.Python接口自动化-requests模块之post请求
5.Python接口自动化之cookie、session应用
6.Python接口自动化之Token详解及应用
7.Python接口自动化之requests请求封装
8.Python接口自动化之pymysql数据库操作
9.Python接口自动化之logging日志
10.Python接口自动化之logging封装及实战
想获取更多最新干货内容
快来星标 置顶 关注我
<< 滑动查看下一张图片 >>
后台 回复"资源"取干货
回复"微信群"一起打怪升级
测试交流Q群:727998947
点亮一下在看,你更好看
Pytest之收集用例及命令行参数相关推荐
- pytest中pytest_addoption用法 动态添加命令行参数 (钩子函数)
考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行: 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑: 上面的场景我们都可以通过" ...
- pytest合集(3)— 命令行参数
1.命令行参数大全 使用 pytest -h 可以查看 pytest 的命令行参数,有 10 大类共 132 个. 详见:Python pytest 132 个命令行参数用法 - 习久性成 - 博客园 ...
- python编写命令行框架_python的pytest框架之命令行参数详解(上)
前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...
- 第三:Pytest框架之命令行参数(一)
一.编写第一个测试函数(用例) 1 from selenium import webdriver2 3 def testOpenUrl():4 try:5 driver = webdriver.Fir ...
- 第四:Pytest框架之命令行参数(二)
前言 上篇博客说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! Pytest执行用例命令行参数 –collect-only:罗列出所有 ...
- pytest十二:cmd命令行参数
命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在 cmd 执行"pytest -html=report.html",这里面的"-html=report.ht ...
- 【pytest】Hook 方法之 pytest_addoption :注册命令行参数
Hook 方法之 pytest_addoption : pytest_addoption 可以让用户注册一个自定义的命令行参数,方便用户将数据传递给 pytest: 这个 Hook 方法一般和 内置 ...
- 002 第一季SpringBoot2核心技术-核心功能:配置文件、Web开发(原生组件)、数据访问、单元测试、指标监控、原理解析:@Value、命令行参数、手动获取bean、自定义starter
三.核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式. 1.1.2 yaml 1) 简介 ...
- Windows安装用于OCR的Tesseract及使用命令行参数进行OCR
Windows安装用于OCR的Tesseract及使用命令行参数进行OCR 1. 效果图 2. Tesseract 安装及验证 参考 这篇博客将介绍如何安装和使用光学字符识别(OCR Optical ...
最新文章
- Riak VClock
- c++几种STL比较
- 返回1到n的所有组合python_如何在Python中生成0-1矩阵的所有可能组合?
- 产品经理的思考利器——UML
- python基础教程:filter(),map()函数用法
- 关于stm32F4CAN总线调试
- MySQL 高级 - 启动及登录MySQL
- 华为杯数学建模优秀论文_数学建模经典例题(2011年国赛A题与优秀论文)
- 在微信浏览器字体被调大导致页面错乱的解决办法
- Python_列表2
- linux线程相关函数接口
- Java面向对象的程序设计
- Linux镜像最全版本下载网站
- Java基础练习题(一维数组)
- Error writing to registry key: RegSetValueEx failed; code 5
- 自建魔兽世界sf服务器,魔兽世界80自己搭服务器,热度却持续不到一天,全部用命令!...
- JAVAScript:mobile端,基于transform-origin和tranform(scale),实现表格缩放
- java中的三种移位运算符
- 计算机图形学是研究真实,计算机图形学论文真实感制图技术在图形学中的应用...
- 软件测试基础篇(3)
热门文章
- BCD与ASCII码互转-C语言实现
- 一摞烙饼最上面一个的另一面为焦的概率
- 计算机辅助初中数学教学,计算机辅助数学教学的优势
- 阶梯剖视图_*小星推荐*—模具图纸剖视图的种类及画法,你学到了吗?
- 计算机组成原理中移码怎么算,计算机组成原理中移码是怎么回事?
- python三维圆曲面_python – matplotlib中的曲面和三维轮廓
- 关于投篮的数学建模模型_数学建模 投篮命中率的数学模型
- mysql 提交 按钮_表单提交按钮input和button、a的差异
- python调整屏幕缩放比例_python实现批量按比例缩放图片效果
- linqto 多个关键字模糊查询_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读