import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts
@pytest.fixture(params=FileRead.read_yaml(r"datacase\login.yaml"))
def login_data(request):
return request.param
def test_login(login_data,baserequests,url,db):
phone = login_data['regdata']['mobilephone']
# 準備數據
print(login_data)
# 下發(fā)注冊請求(登錄成功、失敗)
Member.register(baserequests,url,login_data['regdata'])
# 下發(fā)登錄的請求
r = Member.login(baserequests,url,login_data['logindata'])
# 檢查結果
# assert r.json()['msg'] == login_data['expect']['msg']
# assert r.json()['code'] == login_data['expect']['code']
# assert r.json()['status'] == login_data['expect']['status']
Asserts.assert_equal(r,login_data['expect'],"msg,code,status")
# 刪除注冊用戶,清理環(huán)境
Db.delete_user(db,phone)
import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts
@pytest.fixture(scope='module',params=FileRead.read_yaml(r"datacase\login_setup.yaml"))
def setup_data(request):
return request.param
@pytest.fixture(params=FileRead.read_yaml(r"datacase\login_data.yaml"))
def login_data(request):
return request.param
@pytest.fixture(scope='module')
def register(setup_data,baserequests,url,db):
#初始化環(huán)境:刪除注冊用戶
Db.delete_user(db,setup_data['regdata']['mobilephone'])
#下發(fā)注冊的請求
Member.register(baserequests,url,setup_data['regdata'])
yield
# 清理環(huán)境:刪除注冊用戶
Db.delete_user(db,setup_data['regdata']['mobilephone'])
def test_login(register,baserequests,url,login_data):
#下發(fā)登錄請求
r = Member.login(baserequests,url,login_data['regdata'])
#檢查結果
# assert r.json()['msg'] == login_data['expect']['msg']
# assert r.json()['code'] == login_data['expect']['code']
# assert r.json()['status'] == login_data['expect']['status']
Asserts.assert_equal(r,login_data['expect'],"msg,code,status")
'''
import pytest
#注冊失敗的數據
from zonghe.caw import FileRead
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_fail.yaml"))
def fail_data(request):
return request.param
#注冊失敗的測試邏輯、測試步驟
def test_register_fail(fail_data):
#準備測試數據
print("測試數據為:",fail_data['data'])
print("預期結果為:",fail_data['expect'])
#下發(fā)請求'''
import pytest
from zonghe.baw import Member
from zonghe.caw import FileRead, Db, Asserts
# 注冊失敗的數據
from zonghe.test_script.conftest import baserequests, url
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_fail.yaml")) # yaml文件讀取過來的
def fail_data(request):
return request.param
# 注冊失敗的測試邏輯/測試步驟
def test_register_fail(fail_data, baserequests, url):
# 準備測試數據
print("測試數據為:", fail_data['data'])
print("預期結果為:", fail_data['expect'])
# 下發(fā)請求
r = Member.register(baserequests, url, fail_data['data'])
# 檢查結果
assert r.json()['msg'] == fail_data['expect']['msg']
assert r.json()['code'] == fail_data['expect']['code']
assert r.json()['status'] == fail_data['expect']['status']
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_pass.yaml")) # yaml文件讀取過來的
def pass_data(request):
return request.param
#成功用例
def test_register_pass(pass_data, baserequests, url,db):
# 初始化環(huán)境(環(huán)境中可能有上次遺留的數據,或者其他人添加的數據,與本次執(zhí)行的數據沖突了)
Db.delete_user(db,pass_data['data']['mobilephone'])
# 準備測試數據
print("測試數據為:", pass_data['data'])
print("預期結果為:", pass_data['expect'])
# 下發(fā)請求
r = Member.register(baserequests, url, pass_data['data'])
# 檢查結果
# assert r.json()['msg'] == pass_data['expect']['msg']
# assert r.json()['code'] == pass_data['expect']['code']
# assert r.json()['status'] == pass_data['expect']['status']
Asserts.assert_equal(r,pass_data['expect'],"msg,code,status")
#########################################################
# 檢查注冊的用戶在系統(tǒng)中存在
# 方法1.使用注冊的用戶登錄 方法2.檢查數據庫 方法3.查詢所有用戶,結果在包含已注冊用戶
r = Member.list(baserequests,url)
assert pass_data['data']['mobilephone'] in r.text #校驗手機號在結果里存在
# 清理環(huán)境:刪除用戶(這個腳本執(zhí)行完,不影響其他腳本執(zhí)行,不影響這個腳本的第二次執(zhí)行)
# 方法1、使用刪除用戶的接口刪除 方法2、數據庫中刪除
Db.delete_user(db,pass_data['data']['mobilephone'])
# 重復注冊
@pytest.fixture(params=FileRead.read_yaml(r"datacase\register_repeat.yaml")) # yaml文件讀取過來的
def repeat_data(request):
return request.param
def test_register_repeat(repeat_data, baserequests, url,db):
Db.delete_user(db,repeat_data['data']['mobilephone'])
# 準備測試數據
print("測試數據為:", repeat_data['data'])
print("預期結果為:", repeat_data['expect'])
r = Member.register(baserequests, url, repeat_data['data'])
# 可以不用校驗
# assert r.json()['msg'] == repeat_data['expect']['msg']
# assert r.json()['code'] == repeat_data['expect']['code']
# assert r.json()['status'] == repeat_data['expect']['status']
Asserts.assert_equal(r,repeat_data['expect'],"msg,code,status")
r = Member.register(baserequests, url, repeat_data['data'])
print(r.text)
# assert r.json()['msg'] == repeat_data['expect']['msg']
# assert r.json()['code'] == repeat_data['expect']['code']
# assert r.json()['status'] == repeat_data['expect']['status']
Asserts.assert_equal(r,repeat_data['expect'],"msg,code,status")
Db.delete_user(db,repeat_data['data']['mobilephone'])
|