PyTest入门(二)

上一节给大家讲解了如何使用pytest运行我们的ui自动化测试用例。我们知道pyTest是一个UnitTest的一个升级,它很灵活,灵活性在于哪里呢?本节就来说一说,它的灵活性。

怎么样才算灵活性好呢?就是当要修改某一个参数的时候,测试文件中大批量修改的地方少,一套代码可以支持不同的运行方式。那么pyTest通过配置文件的方式,把一些需要配置的参数进行统一化管理,这样想要以什么方式运行,修改测试数据等一系列操作就会变得简单,不需要再测试文件中一个个搜索该一堆,同时也进一步优化了测试用例文件的代码量。好了,废话不多说,现在让我们一起来看看到底是怎么来定义和运行的吧!

pyTest中一共有两个核心配置文件来统一配置测试用例的运行方式和测试数据准备,分别是pytest.ini和conftest.py。值得注意的是这两个配置文件的名字是一定不能改的。

先来看一下pytest.ini,它存在于工程的根路径,在全局生效。

pytest.ini配置文件包含以下内容:

[pytest]

#运行满足指定标签的测试用例
markers=
     webui: automation for web ui
     temp:just for fun

运行工程下所有测试用例文件名称以test_模糊匹配的测试用例文件

python_files=test_*

#运行所有class对象测试用例class名以QQ开头的所有class下的测试用例

python_classes=QQ*

#运行工程下文件夹名为test_demo下的所有测试用例文件

testpaths=test_demo

#运行测试用例函数名以vip开头的所有用例

python_functions=vip*

#显示运行所有测试用例的运行结果pass或fail

log_cli=True

#配置option指令

addopts=-s

以上文件,指的说一下的是mark,这个是测试用例的标签,以修饰器的方式定义在每一条单独的测试用例函数如下图:

标签可以定义多个,主要作用是为了标识特殊的测试用例

mark定义

另外一个配置文件conftest.py,此文件的作用是用来定义测试用例在运行之前需要准备的测试数据,可以将返回值带入到测试用例中使用。它存在于测试用例文件在同一级路径。

我们将在这这个配置文件里定义的函数称为预置函数,定义时需要@pytest.fixture()修饰器

conftest.py配置文件包含以下内容:

import pytest

@pytest.fixture()
def yuzhi01():
	print("测试用例开始时执行输出")
	return 2

以上定义了一个输出信息和一个返回值2,那么在测试用例中如何关联起来呢?我们需要在测试用例中传入这个预置函数的名字即可,如下:

测试用例调用预置函数

需要特别说明的是@pytest.fixture()中有一个对象scope,它分为不同的等级,等级说明如下:

定义方式:@pytest.fixture(scope=“session”),默认是session

session:本次session级别中只执行一次
module:模块中只执行一次
class:在类级别中只执行一次
function:在函数级别中执行,每个函数只执行一次

以上就是pyTest中两个核心的配置文件中参数配置的梳理。有不懂的小伙伴欢迎留言~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值