软件测试之自动化测试Pytest教程

本文详细介绍了Pytest作为Python测试框架的使用,包括安装、用例设计原则、运行方式、ini配置文件、跳过测试函数、fixture的使用、pytest-allure生成测试报告等内容,同时探讨了yield和return的区别,以及pytest常用插件的应用。
愿你我相遇,皆有所获! 欢迎关注微信公众号:【软件测试pytest】 免费领取任何一切软件测试工程师视频学习教程。免费分享!

 Pytest
pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:
简单灵活,容易上手
支持参数化
能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)
pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等
测试用例的skip和xfail处理
可以很好的和jenkins集成
report框架----allure 也支持了pytest

安装Pytest

pip install -U pytest

Pytest用例设计原则

测试类以Test开头,并且不能带有init方法

以test_开头的函数

以Test开头的类

所有的包pakege必须要有__init__.py文件

断言使用assert

运行Pytest的两种方式

Pycharm里代码运行

pytest.main(["test.py"])
  • 命令行运行方式
pytest test.py
# 运行指定类下的指定方法
pytest 文件名::类名::方法名

Pytest参数说明
-v 说明:可以输出用例更加详细的执行信息,比如用例所在的文件及用例名称等

-s 说明:输入我们用例中的调式信息,比如print的打印信息等

-x:遇到错误的用例,立即退出执行,并输出结果

-v:表示查看详细的报告内容

-collect-only:表示把待执行的用例全部展示出来

-lf:只执行上次失败的用例

-vv :显示详细的测试结果

-tb=no:不展示用例失败的错误详情

-tb=line:展示用例失败的代码具体行数

-tb=short:展示更加详细的错误信息

-k “关键字” 说明:执行用例包含“关键字”的用例

-q 说明:简化控制台的输出,可以看出输出信息和上面的结果都不一样, 下图中有两个…点代替了pass结果

-maxfail=num 当用例错误达到指定数量时,停止测试

m 说明:执行特定的测试用例。我们再次修改一下我们的用例,并添加一个新的用例

# 如果要运行多个标识的话,用表达式,如下
pytest -m "slow or faster" test_1.py  运行有slow标识或 faster标识用例
pytest -m "slow and faster" test_1.py 运行有slow和faster标识的用例
pytest -m "slow and not faster" test_1.py 运行有slow和没有faster标识的用例

注意:-m后面不能带’'号(单引号),只能带“”(双引号),不然识别不到

ini配置文件

  • 创建pytest.ini文件(固定写法)
[pytest];固定写法

;变量名不能错
addopts=-vv -s ;多个参数中间空格
testpaths=../HC/huace ;多个目录中间空格
python_files=test*.py ;python文件前缀,可自定义
python_classes=huace ;指定类名
python_functions=test* ;指定方法
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值