「pytest01」pytest快速入门-pytest运行时参数,pytest.ini详解
off999 2024-11-13 11:48 25 浏览 0 评论
一、Pytest简介
1.pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:
简单灵活,容易上手,支持参数化
2.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium、appium等自动化测试,requests+pytest接口自动化测试
3.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如:
pytest-selenium(集成selenium)
pytest-html(完美html测试报告生成)
pytest-rerunfailures(失败用例重复执行)
pytest-xdist(多CPU分发)
4.测试用例的skip和xfail处理
5.可以很好的和jenkins集成
6.pytest也支持allure测试报告
7.能兼容unittest,是unittest的扩展
二、Pytest以及常用插件安装
把如下内容写到一个txt文件中,如require-install.txt
pytest
pytest-html
pytest-xdist
pytest-rerunfailures
然后在Dos窗口中使用此命令安装所有的模块:pip install -r require-install.txt
通过命令:pytest --version验证安装结果。如果报如下错误则需要调整python或pytest的版本,这是python和pytest的版本不兼容:
下面说两个错误例子,一个是win7、python3.7.4以及pytest5.0+,将python降到3.7.3就ok了,另一个是Windows 10, python 3.8.1, pytest 5.3.3,将pytest降到4.6.9以下版本也ok,因此建议你要么降python版本,要么降pytest版本试试。
笔者使用的是:win7+python3.7.3+pytest5.4.1,亲测没问题。
三、 pytest框架基础应用
- pytest运行函数时和运行类里面的方法情况如下:
import pytest
def test01():
print('测试用例一')
def abcd():
print('测试用例二')
class TestCase:
def test_03(self):
print('测试用例三')
def defg(self):
print('测试用例四')
if __name__ == '__main__':
pytest.main(['-s','pytest-demo.py'])
运行结果如下:
注意事项:
(1) 测试函数、类中的测试方法都必须以test_ 开头,当然以什么开头在pytest可自定义。
(2) 测试类必须以Test开头,并且不能带有init方法
(3) 断言必须使用assert断言
执行方式:
(1) 主函数方式运行:
指定运行文件:pytest.main(['-s','pytest-demo.py模块名'])
注意:如果py文件是以test_开头或者以_test结尾则可以使用pytest.main()运行。因为pytest.main()会运行当前目录下所有以test_开头或者以_test结尾的文件。
(2) 命令行方式运行
点开Pycharm左下角的:Terminal打开当面目录下的命令行窗口。
输入命令执行:pytest pytest-demo.py模块名
注意:如果py文件是以test_开头或者以_test结尾则可以使用pytest命令运行,因为pytest会运行当前目录下所有以test_开头或者以_test结尾的文件。
四、 运行时参数说明
-s:显示打印内容
如:pytest pytest-demo.py -s
等价于:pytest.main(['-s','pytest-demo.py'])
:::指定测试用例运行
运行函数:如:pytest pytest-demo.py::test_01
等价于:pytest.main(['-s','pytest-demo.py::test01'])
运行类中方法:如:pytest pytest-demp.py::TestCase::test_03
等价于:pytest.main(['-s', 'pytest-demo.py::TestCase::test_03'])
--html=路径/report.html:生成xml/html格式测试报告(需要先安装pytest-html)
如:pytest pytest-demp.py --html-./report.html
等价于:pytest.main(['-s','pytest-demo.py','--html=./report.html'])
--maxfail=1:出现1个失败就终止测试
如:pytest pytest-demo.py --maxfail=1
等价于:pytest.main(['-s','pytest-demo.py','--maxfail=1'])
-n:pytest-xdist多线程运行(需要先安装pytest-xdist)
如:pytest pytest-demo.py -n 2
等价于:pytest.main(['-s','pytest-demo.py','-n=2'])
在用例中使用time.sleep(2)加等待时间测试,发现多线程时间减少了。
--reruns NUM:重试运行测试用例(需要先安装pytest-rerunfailures)
如:pytest pytest-demo.py --reruns 2
则一旦有用例失败,则会重复执行两次,貌似这种不能用main运行。
由此能看出:pytest.main(['-s','pytest-demo.py模块名']),main方法中是传入的一个list格式,list中可以传入多个参数。
五、pytest的ini配置文件
pytest.ini文件是pytest的主配置文件,可以改变pytest的默认行为。
1.pytest.ini的放置位置:一般放在项目工程的根目录(即当前项目的顶级文件夹下)
2.pytest.ini的作用:指定pytest的运行方式(在cmd输入pytest后,会读取pytest.ini中的配置信息,按指定的方式去运行)
3.cmd下使用 pytest -h 命令查看pytest.ini的设置选项(以下截图只是部分选项)
常用设置选项如下:
[pytest]
addopts = -s ...#可添加多个命令行参数,用空格分隔
testpaths = ../pytestproject#测试用例文件夹,可自己配置,../pytestproject为上一层的pytestproject文件夹。
python_files = test*.py#配置测试搜索的模块文件名称
python_classes = Test*#配置测试搜索的测试类名
python_funtions = test#配置测试搜索的测试函数名
示例如下:
[pytest]
addopts = -s --html=./report.html
testpaths = ../pytestproject
python_files = test*.py
python_classes = Test*
python_funtions = test*
注意:
1.运行的时候自动读取配置文件,运行pytestproject下的所有test开头的模块文件。
六、总结
如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入软件测试技术交流群:695458161 群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
一箭三雕:如果你觉得本文对你有帮助,请关注,赞同,分享三连!谢谢!
作者出处:春哥
转载声明:欢迎转载,但未经作者同意请保留此段声明,并在文章明显位置给出原文链接。
相关推荐
- 纯净系统之家官网(纯净系统基地官网)
-
系统之家发布的Win10纯净版是没有预装激活工具的,您需要自行激活。以下是操作步骤:1.打开“设置”页面,选择“更新和安全”选项。2.在左侧菜单栏中,选择“激活”。3.点击“更改产品密钥”按钮,...
- 免费无限破解版游戏大全下载
-
靠谱助手、烧饼、葫芦侠修改器、八门神器、全能破解就是不用花钱就能买游戏里的商品安全岂见打开飞行模式内购更安全不会扣费手机先ROOT,之后下对应的破解软件,这样成功率比较高。虎牙YOWA云游戏...
-
- 视频相册制作软件免费版(视频相册制作下载)
-
电脑端的软件推荐第一个会声会影,会声会影这个软件简单易上手,制作出来电子相册很美,软件本身简单容易操作,没有水印。第二个推荐快剪辑,快剪辑也是一个制作电子相册非常好的软件,这个软件简单易上手,没有什么操作难度。第三个电脑端的软件编辑星,编辑...
-
2026-01-16 23:51 off999
- win11官网(win11官网激活码多少钱)
-
https://www.microsoft.com/zh-cn/您可以在微软官方网站上找到Windows11系统的下载链接,然后按照官方指导进行下载。首先,打开您的浏览器并访问微软官方网站,然后找到...
- vmospro虚拟机(vmospro虚拟机游戏闪退)
-
VMOSPRO可以用来运行多个安卓系统。因为VMOSPRO是一款虚拟机应用,可以在其中运行多个安卓系统,用户可以在不影响手机原系统的情况下,体验更多的安卓应用和功能。除了运行多个安卓系统外,VMO...
- 法国vs阿根廷(法国vs阿根廷决赛)
-
法国和阿根廷此前一共交手过12次,法国3胜3平6负。世界杯交手了3次,2胜1负。总体战绩法国还是处于下风的。最近一次交锋是2018世界杯八分之一决赛一场比赛中,欧洲劲旅法国队以4-3的比分击败了南美强...
- 百度手机助手下载2025官方正版
-
10年2012年参加的社会保险到2022年的参保对应月应该是整10年。我打个比方:某甲2012年10月份参加了社保,那么到了2022年10月份就是参加社保整整的10年。差不多十年左右吧。2022-20...
- 迅雷手机版高清在线(迅雷手机观看2018)
-
《海派甜心》是可米瑞智国际艺能有限公司出品的一部青春偶像剧。由林合隆执导,杨丞琳、罗志祥、李威主演。腾讯,爱艺奇上都可以观看
-
- itunes官方下载win7版(windows7下载itunes哪个版本)
-
itunes最新版本已经不支持win10以下系统了,很多商店标的支持win7只是没改,官网已经写的很清楚了,最低Windows10版本16299.0或更高版本。64位版本的Windows需要iTunes64位安装程序,4...
-
2026-01-16 22:15 off999
- 破解版传奇游戏无限内购破解版
-
1/6分步阅读首先,我们先去将游戏软件下载下来,点击页面底部位置的下载按钮,开始进行下载。2/6然后,我们在自己的手机桌面上找到已经下载安装完成好了的游戏软件,点击进入。3/6进入到选择登录方式这个页...
- 手机浏览器flash插件(5.4英寸的屏幕)
-
1、在手机的应用商店中,进入到搜索页面之后,输入“Adobeflashplayer”,然后点击搜索,找到就可以安装了2、第二个可以直接通过网页搜索Adobeflashplayer,一定要注意版...
- 最新卫星地图(最新卫星地图高清在线观看)
-
实时地球是中科遥感集团开发的中国卫星影像地图软件,被誉为中国版的“谷歌地球”。在线地球采用遥感集市云平台数据接口,每天动态更新高分辨率卫星影像,同时内置近年历史影像存档数据,所有影像免费开放浏览。用...
- 免费伴奏网(免费伴奏网址大全)
-
推荐下列5个伴奏网:99伴奏网这个网站提供有很多免费伴奏下载,包括男歌手伴奏,女歌手伴奏,组合伴奏,合唱伴奏,民歌伴奏,儿歌伴奏,改版伴奏,戏曲伴奏,婚礼伴奏等。免费伴奏–乱推网一个伴奏搜索下载网站,...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
