import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db
# 注冊(cè)失敗的數(shù)據(jù)
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_fail.yaml"))
def fail_data(request):
return request.param
# 注冊(cè)成功的數(shù)據(jù)
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_pass.yaml"))
def pass_data(request):
return request.param
# 重復(fù)注冊(cè)的數(shù)據(jù)
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_repeat.yaml"))
def repeat_data(request):
return request.param
# 注冊(cè)失敗的測(cè)試邏輯/測(cè)試步驟
def test_register_fail(fail_data, baserequests, url):
# 準(zhǔn)備測(cè)試數(shù)據(jù)
print("測(cè)試數(shù)據(jù)為:", fail_data['data'])
print("預(yù)期結(jié)果為:", fail_data['expect'])
# 下發(fā)結(jié)果
r = Member.register(baserequests, url, fail_data['data'])
print(r.json())
# 檢查結(jié)果
assert r.json()['msg'] == fail_data['expect']['msg']
assert r.json()['code'] == fail_data['expect']['code']
assert r.json()['status'] == fail_data['expect']['status']
# 注冊(cè)成功的測(cè)試邏輯/測(cè)試時(shí)步驟
def test_register_pass(pass_data, baserequests, url, db):
# 初始化環(huán)境
Db.delete_user(db, pass_data['data']['mobilephone'])
# 測(cè)試數(shù)據(jù)
print("測(cè)試數(shù)據(jù)為:", pass_data['data'])
print("預(yù)期結(jié)果為:", pass_data['expect'])
# 下發(fā)請(qǐng)求
r = Member.register(baserequests, url, pass_data['data'])
# r = Member.register(baserequests, url, pass_data['data'])
# 檢查響應(yīng)結(jié)果
print("-------------------------------------------")
print(r.json())
assert r.json()['msg'] == pass_data['expect']['msg']
assert r.json()['code'] == pass_data['expect']['code']
assert r.json()['status'] == pass_data['expect']['status']
# 檢查注冊(cè)用戶在系統(tǒng)中的存在
# 方法1.使用注冊(cè)的用戶登錄 方法2.檢查數(shù)據(jù)庫(kù) 方法3.查詢所有用戶,結(jié)果中包含注冊(cè)用戶
r = Member.list(baserequests, url)
assert pass_data['data']['mobilephone'] in r.text
# 重復(fù)注冊(cè)的測(cè)試邏輯/測(cè)試步驟
def test_register_repeat(repeat_data, baserequests, url, db):
# 測(cè)試數(shù)據(jù)
print("測(cè)試數(shù)據(jù)為:", repeat_data['data'])
print("預(yù)期結(jié)果為:", repeat_data['expect'])
# 下發(fā)請(qǐng)求
r = Member.register(baserequests, url, repeat_data['data'])
# 檢查響應(yīng)結(jié)果
print("-------------------------------------------")
print(r.json())
assert r.json()['msg'] == repeat_data['expect']['msg']
assert r.json()['code'] == repeat_data['expect']['code']
assert r.json()['status'] == repeat_data['expect']['status']
# 刪除用戶
# 方法1.調(diào)用刪除用戶的接口刪除 方法2.數(shù)據(jù)庫(kù)中刪除
Db.delete_user(db, repeat_data['data']['mobilephone'])
|