携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情
前后置函数
今天介绍的是pytest的前后置函数,所谓前后置就是在用例执行之前或者执行之后执行的函数,在日常的自动化测试中还是比较经常使用的。
常用前后置函数介绍
setup: 每个用例执行之前会执行一次
teardown:每个用例执行之后会执行一次
setup_class:每个类执行之前会执行一次
teardown_class:每个类执行之后会执行一次
通过实例调用,先编写对应函数
编写测试用例
发起pytest调用,可以发现控制台输出了我们期望的值
从上面的例子不难发现,每一次执行都会调用,难免会有些绝对,对于前后置我们只需要针对某些函数发起,那该如何解决这个问题呢?那么我们可以使用@pytest.fixtrue 来实现部分的前后置
@pytest.fixtrue
scope:作用域
params:数据驱动
autouse:自动执行
ids:自定义参数名
name:重命名
其中作用域共有以下几个:function(默认函数级别),class,modules,package,session级别(多个文件调用一次,可以跨.py文件调用,每个py文件就是module)。
params可以传入测试用例所需要的参数,对后续抽取测试用例模板作用比较大。 实例:
1、定义部分前后置函数
2、改造测试用例
3、执行测试用例
通过观察我们可以发现只有传入了我们定义的部分前后置函数的用例才执行了我们所写的代码,而未传入的则没有执行。
conftest.py介绍
@pytest.fixture()会和conftest.py一起使用
conftest.py名称是固定的,功能很强大
1、conftest.py文件单独存放@pytest.fixture()方法,用处是可以再多个py文件之间共享前置配置
2、conftest.py 里面的方法再调用时不需要导入,可以直接使用,不需要import
3、conftest.py可以有多个,也可以有多个不同的层级
confest.py的出现也让我们的自动化代码变得更加的优雅。
综上,通过简单的了解,我们得出了如何实现测试用例中的部分前置以及全部前置的功能。