[email protected]( ):无参数的用法
1.第一种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
@pytest.fixture( )
def user( ):
name = 'mixintu'
password = '123456'
return name, password
def test_user(user):
assert user[0] == "mixintu"
assert user[1] == "123456"
2.第二种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
@pytest.fixture( )
def user( ):
name = 'mixintu'
return name
@pytest.fixture( )
def password( ):
password = '123456'
return password
def test_user(user, password):
assert user == "mixintu"
assert password == "1234567"
3.第三种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
@pytest.fixture( )
def user( ):
name = 'mixintu'
return name
@pytest.fixture( )
def pw(user):
name = user
password = '123456'
return name, password
def test_user(pw):
assert pw[0] == 'mixintu'
assert pw[1] == '1234567'
输出:
__________________________________ test_user __________________________________
user = ('mixintu', '123456')
def test_user(user):
assert user[0] == "mixintu"
> assert user[1] == "1234567"
E AssertionError: assert '123456' == '1234567'
E - 123456
E + 1234567
E ? +
test_example.py:82: AssertionError
========================== 1 failed in 0.09 seconds ===========================
[email protected]( ):有参数的用法
1.第一种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
@pytest.fixture( ) # 添加fixture后,执行inty方法就是执行fun()方法
def inty( ):
return "connect to hello world"
class TestCase_01( ):
# inty参数名必须同fixture的inty方法名相同才能传递inty的值
def test_open_baidu(self, inty):
print("============{}".format(inty))
2.第二种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
@pytest.fixture(params = [{'userID': '00001', 'username': 'jack'},
{'userID': '00002', 'username': 'mike'}])
def getdata(request): # 这里的request是固定参数名
print("request.param======".format(request.param))
return request.param # 这里的request.param也是固定的
class TestCase_02( ):
def test_case1(self, getdata):
print("第1个用例输出:{}".format(getdata))
def test_case2(self, getdata):
print("第2个用例输出:{}".format(getdata))
3.第三种方式:-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
class TestCase_03( ):
# parametrize:直接加测试数据
@pytest.mark.parametrize("params_A",
[{'userID': '00001', 'username': 'jack'},
{'userID': '00002', 'username': 'mike'}])
def test_case1(self, params_A):
print("第1个用例输出:{}".format(params_A))
@pytest.mark.parametrize("params_B",
[{'userID': '00003', 'username': 'tina'},
{'userID': '00004', 'username': 'book'}])
def test_case2(self, params_B):
print("第2个用例输出:{}".format(params_B))
输出:
