一、ddt(数据驱动测试 Data-Driven Testing)
1、数据和测试逻辑分离,便于维护。当数据和测试逻辑各自需要修改的时候,不会影响到对方
2、测试用例之间是独立的,符合测试需求,当不使用数据驱动测试的时候,测试用例的中断会影响另外测试用例的执行
3、参数化
1)测试用例函数会根据用例参数调用多次
2)声明@pytest.mark.parametrize()
@pytest.mark.parametrize('variable',data)
def test_login(variable):
pass
语法:@pytest.mark.parametrize('variable',data)中variable与测试函数中的def test_login(variable)参数variable变量名要一致,data是测试用例数据,通过data中的测试用例数据来驱动测试用例函数的执行,用例与用例之间是相互的独立的,一个用例的运行失败不会影响下一个测试用例的执行。
二、fixture 测试夹具
1、fixture:测试用例执行的前置和后置条件,即测试用例执行的环境
2、fixture夹具:就是函数
1)声明@pytest.fixture()
@pytest.fixture()
def function():
.....前置条件.....
yield "hello" # 返回值
.....后置条件.....
a、return和yield的区别:遇到return会终止,