1、普通传参
公共测试用例:conftest.py
@pytest.fixture()
def user():
print("step 1 : 输入用户名")
print(type(user))
a = "sandra"
return a
测试用例:test_*.py
def test_user(user):
print("step 2")
print(type(user))
assert user == "sandra"
测试结果:
![](https://img.haomeiwen.com/i11240185/a6c974ee8a011a44.png)
2、request传参(一)
公共测试用例:conftest.py
@pytest.fixture(scope="class")
def username():
print("step 1")
print(type(username))
a = "sandra"
return a
测试用例:test_*.py
data = ["linda1","linda2","linda3"]
@pytest.mark.parametrize("usernames",data,indirect=True)
def test_usernames(usernames):
print("step 2")
print(type(usernames))
assert usernames == "linda1"
测试结果:
![](https://img.haomeiwen.com/i11240185/861bb95aa9bd8d67.png)
3、request传参(二)
公共测试用例:conftest.py
@pytest.fixture(scope="class",params=["linda1","linda2","linda3"])
def usernames(request):
print("step 1")
print(type(usernames))
return request.param
测试用例:test_*.py
def test_usernames(usernames):
print("step 2")
print(type(usernames))
assert usernames == "linda1"
# pytest.assume(usernames == "linda2")
4、request传参(三)
公共测试用例:conftest.py
@pytest.fixture(scope="class",params=[{"user_name":"zhangsan","password":"111111"},{"user_name":"lisi","password":"a123456"},{"user_name":"sandra","password":"666666"}])
def users(request):
r = request.param
print("step 1")
print(type(users))
return r["user_name"],r["password"]
测试用例:test_*.py
def test_users(users):
print("step 2")
print(type(users))
print(users)
assert users[0] == "zhangsan"
assert users[1] == "111111"
测试结果:
![](https://img.haomeiwen.com/i11240185/e1bbe1dcd1b6b8bb.png)
5、request传参(四)
公共测试用例:conftest.py
@pytest.fixture(scope="class",params=[{"user_name":"zhangsan","password":"111111"},{"user_name":"lisi","password":"a123456"},{"user_name":"sandra","password":"666666"}])
def users_2(request):
r = request.param
print("step 1")
print(type(users_2))
print(r)
return r
测试用例:test_*.py
def test_users_2(users_2):
print("step 2")
print(type(users_2))
print(users_2)
assert users_2 == {"user_name":"zhangsan","password":"111111"}
测试结果:
![](https://img.haomeiwen.com/i11240185/0aedb64a902d286d.png)
6、request传参(五)
公共测试用例:conftest.py
@pytest.fixture(scope="class")
def users_multply_username(request):
p = request.param
print("step 1")
print(type(users_multply_username))
print(p)
return p
@pytest.fixture(scope="class")
def users_multply_password(request):
q = request.param
print("step 1")
print(type(users_multply_password))
print(q)
return q
测试用例:test_*.py
usernames = ["zhangsan","lisi","wangwu"]
passwords = ["111111","a123456","666666"]
@pytest.mark.parametrize("users_multply_username",usernames,indirect=True)
@pytest.mark.parametrize("users_multply_password",passwords,indirect=True)
def test_users_multply(users_multply_username,users_multply_password):
print("step 2")
print(type(users_multply_username))
print(type(users_multply_password))
assert users_multply_username == "wangwu"
assert users_multply_password == "111111"
测试结果:
![](https://img.haomeiwen.com/i11240185/40e1d4b3233f2626.png)
网友评论