愿你我相遇,皆有所获! 欢迎关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!
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
- pip install -U 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* ;指定方法名,可自定义
跳过测试函数
- 跳过测试函数: 根据特定的条件,不执行标识的测试函数
# -*- coding: utf-8 -*-
import pytest
class Test():
def test(self):
print("执行的是testcase的用例")
@pytest.mark.skipif(condition=1
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?