pytest测试框架梳理
2019-08-03 22:55
387 查看
基本使用
1.安装pytest
pip install pytest
2.创建py文件,编写测试用例(测试用例必须以test开头)
3.使用pytest命令运行该文件
进阶使用
1.在接口测试中,许多前置代码每一个用例都可能会用到,如开启数据库连接或清理数据。如果重复编写该代码的话会浪费很多时间,因此,我们引出了setUp与tearDown的思想。
- setUp:每条case执行前会运行该函数
- tearDown:每条用例执行后会运行该函数
2.在pytest使用setUp与tearDown
- 在pytest中使用setUp与tearDown则需要引入@pytest.fixture()这个装饰器,其声明了该函数是一个fixtrue,即其包含了setUp与tearDown的思想。
- yield关键字上面的是setUp,他会在每条用例执行前执行上面的代码。一般我们会用来创建每条用例共同使用的代码,如数据库连接。
- yield关键字下面的是tearDown,他会在每条用例执行后执行下面的代码。一般我们会用来销毁数据,如每条用例执行都需要向数据库插入数据,所以一般我们使用该代码去清理数据库的数据。
注意:使用fixtrue修饰后的函数,如果想在每条用例使用的话,必须在定义用例时,将fixtrue修饰的函数放在参数中。如果想使用setUp返回的对象,可以直接在用例中的形参进行调用
3.使用@pytest.fixture()修饰的函数存放位置
- 一般的接口测试,我们会对每一个接口创建一个py文件进行管理指定接口的测试用例,如getItems这个接口,我们会创建一个py文件test_api_getItems.py存放。因此,一般我们使用的是放在同一个接口测试文件中,因为我们连接数据库操作的表是同一张表,所以放在同一个py文件中可以。
- 其次,可以在同一模块中,创建conftest.py文件,将@pytest.fixture()修饰的函数存放在该文件中也可以被调用。pytest测试框架在运行前,会自动去运行conftest.py文件中的代码。所以被@pytest.fixture()修饰的函数会被扫描到执行。
4.@pytest.fixture()的作用范围
- fixture有4个作用范围,分别是session > module > class > function,默认function级别。
- function:每个用例执行时,都会调用一次该函数
- class:一个类里面的用例执行时,只执行一次
- module:一个py文件中的用例执行时,只执行一次
- session:同目录下,每一个py文件中的用例执行时,只执行一次
以下是实例
1.function级别
用例每次执行都会调用一次fixtrue的函数
2.class级别:
class级别中的firtrue会在执行类所有用例,只执行一次。
3.module级别:
module级别会在一个py文件中所有的用例执行时,只执行一次
4.session级别:
多个py文件中,session级别的只执行一次
------------------------------------------------------------------------------------2019-8-3 22:54--------------------------------------------------------------
相关文章推荐
- python pytest测试框架介绍二
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- 自动化测试框架工具pytest教程
- python pytest测试框架介绍三
- python pytest测试框架介绍一
- python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制
- [翻译]pytest测试框架(一)
- [翻译]pytest测试框架(二):使用
- 【工具分享】接口测试框架分享Pytest框架
- Python单元测试框架之pytest---如何执行测试用例
- Python单元测试框架之pytest -- 生成测试报告
- 关于flask 上直接使用py.test测试框架进行测试
- pycharm中测试的三种模式(unittest框架、pytest框架、普通模式)
- python的unittest测试框架的扩展浅谈
- 学习pytest的第十二天-----使用allure2生成测试报告
- GoogleTest测试框架
- selenium一个完整的unittest测试框架格式(单线程,非测试报告)
- Python+requests+unittest+excel实现接口自动化测试框架
- 单元测试-Spring2.5 TestContext测试框架
- unittest测试框架的四个重要概念