python自动化测试 培训

 

无论什么自动化,都会需要参数化。unittest可以通过ddt来完成参数化,那么pytest通过什么呢?

parametrize

pytest中自带的装饰器parametrize可以来实现测试用例的参数化功能。

使用方法

通过下方装饰器,使用在需要传入参数的case中。用例传参中的值和装饰器传入的参数值一致。

@pytest.mark.parametrize('参数化名称',参数化值)

安静举一个登录传参的例子。

import pytest

# 登录参数

data = [('anjing', 'anjing_pwd'), ('test', 'test_pwd'), ('admin', 'admin_pwd')]

class Test_01:

# 通过parametrize进行参数化

@pytest.mark.parametrize('user, pwd', data)

def test_01(self, user,pwd):

print('---用例01---')

print('登录的用户名:%s' % user)

print('登录的密码:%s' % pwd)

def test_02(self):

print('---用例02---')

if __name__ == '__main__':

pytest.main(['-vs'])

通过直接结果可以看出来,test_01一共执行了3次。每次都是不同的参数信息。

自定义参数信息

在自动化中每个参数化中的参数都有不同的意义,可以进行备注参数信息。这样在执行后更加清楚地知道我们每个参数的内容。这里通过parametrize的参数ids方法进行备注参数信息。注意:备注的参数信息一定要和参数数量保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值