'''
第三个版本:使用数据驱动的方式,实现注册接口的测试
'''
import pytest
import requests
@pytest.fixture(params=[("18012 45qw#", "123456","","手机号码格式不正确"),("1801234567", "123456","","手机号码格式不正确"),
("180123456789", "123456","","手机号码格式不正确"),("","123456","","手机号不能为空"),
( "18012345678", "12345","","密码长度必须为6~18"),("18012345678", "1234567890987654321","","密码长度必须为6~18"),
( "180123456789","","","密码不能为空"),("17868877790", "123456","","手机号码已被注册"),
( "18912344577", "123456","","注册成功"),( "18912575678","123456","qqq","注册成功"),
( "18912345667", "123456","fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggttttttttttttttttttttt","服务器异常")])
def register_data(request):
return request.param
def test_register(register_data):
print('测试数据为:',register_data)
url = 'http://192.168.2.36:8089/futureloan/mvc/api/member/register'
cs ={
"mobilephone":register_data[0],
"pwd":register_data[1],
"regname":register_data[2]
}
r = requests.get(url,params=cs)
print(r.text)
assert r.json()['msg'] == register_data[3]
print('-----------------------------------------------------------------------------------------------')
#
@pytest.fixture(params=[{"data":{"mobilephone":"18012345678","pwd":"123"},
"expect":{"status":0,"code":"20108","data":None,"msg":"密码长度必须为6~18"}},
{"data":{"mobilephone":"18012345","pwd":"123456"},
"expect":{"status":0,"code":"20109","data":None,"msg":"手机号码格式不正确"}}])
def data2(request):
return request.param
def test_register2(data2):
print('测试数据为:',data2)
url = 'http://192.168.2.36:8089/futureloan/mvc/api/member/register'
r = requests.get(url,params=data2['data'])
print(r.text)
assert r.json()['msg'] == data2['expect']['msg']
assert r.json()['code'] == data2['expect']['code']
assert r.json()['status'] == data2['expect']['status']
|