1、参数化、数据驱动
通常测试数据与功能函数分离,存储在功能函数的外部位置。在自动化测试运行时,数据驱动框架会读取数据源中的数据,把数据作为参数传递到功能函数中,并会根据数据的条数多次运行同一个功能函数。
而参数化就是将数据与业务分离,也可以理解成数据驱动,实现了参数化,能够通过不同数据得到不同用例,不仅方便测试人员修改、维护,同时也提升了代码可读性。而pytest中就有个功能可以很好的实现数据分离,那就是pytest.paramerize,类似于Unittest的DDT。
2、使用方法
(1)基本使用
格式:@pytest.mark.parametrize('参数名',list)。既可以传单个数据也可以传多组数据,还可以传列表和字典类型的数据,如图。
# --*-- coding: utf-8 --*--
import pytest
class Test_Case:
@pytest.mark.parametrize('request_method', ['get', 'post', 'put'])
def test_case1(self, request_method):
print('请求方式为:', request_method)
@pytest.mark.parametrize('request_method, url, data', [('post', ['qiandu.com', 'jingxi.com'], {'username': 'admin', 'password': 'admin'})])
def test_case2(self, request_method, url, data):
print('请求方式为:', request_method)
print('目标url为:', url)
print('参数为:', data)
if __name__ &#