def url(): return DataRead.read_ini(r'test_env\env.ini', 'url')
#登录失败 import pytest from zonghe.baw import Member from zonghe.caw import DataRead @pytest.fixture(params=DataRead.readyaml(r"zonghe\data_case\login_fail.yaml")) def pass_data(request): #固定写法 return request.param def test_register_pass(url, baserquests, pass_data): print("===============================================") print(f"测试数据为:{pass_data['casedata']}") # print(f"预期结果为:{pass_data['expect']}") r = Member.getlogin(url, baserquests, pass_data['casedata']) print("===============================================") print(r.text) # 检查结果 assert r.json()['code'] == str(pass_data['expect']['code'])
''' 金融项目充值测试:注册用户-->登录-->充值1000 ''' import pytest from zonghe.baw import Member, Operate from zonghe.caw import DataRead @pytest.fixture(DataRead.read_yaml(r"test_data\recharge_data.yaml")) def recharge_data(request): return request.param def recharge(recharge_data, baserequest, url, data): # 注册用户 Member.register(baserequest, url, recharge_data['regdata']) # 登录用户 Member.login(baserequest, url, recharge_data['logindata']) # 充值界面 r = Operate.recharge(baserequest, url, recharge_data['rechargedata']) print(r.text) # 验证充值返回结果 # 删除登录用户
import pytest from zonghe.baw import Member from zonghe.caw import DataRead, Check from zonghe.caw.MySqlOp import delete_user #前置条件,注册数据 @pytest.fixture(params=DataRead.read_Yaml(r'test_data/login_setup.yaml')) def setup_data(request): return request.param #登录测试数据 @pytest.fixture(params=DataRead.read_Yaml(r'test_data/login_data.yaml')) def login_data(request): return request.param #测试前置和后置,环境准备和清理 @pytest.fixture() def register(baserequest,url,db_info,setup_data): #注册用户 delete_user(db_info, setup_data['data']['mobilephone']) print('dbifo=========================', db_info) r = Member.register(baserequest, url, setup_data['data']) yield #删除用户 delete_user(db_info, setup_data['data']['mobilephone']) def test_login(baserequest,url,register,login_data): # 下发登录请求 r = Member.login(baserequest, url, login_data['data']) print('登录', r.text) #检查结果
def url(): return DataRead.read_ini(r"/test_env/env.ini", "url")
# @Time : 2021/2/24 11:23 # @Author:曹晶晶 # @File : test_recharge.py from unittest import mock import pytest from zonghe.baw import Member from zonghe.caw import DataRead, MySqlOp, Check @pytest.fixture(params=DataRead.read_yaml(r'test_data\recharge_data.yaml')) def recharge_data(request): return request.param @pytest.fixture() def register_login(baserequest, url, recharge_data, db_info): # 初始化环境 MySqlOp.delete_user(recharge_data['regdata']['mobilephone'], db_info) # 注册用户 Member.register(baserequest, url, recharge_data['regdata']) # 用户登录 Member.login(baserequest, url, recharge_data['logindata']) yield MySqlOp.delete_user(recharge_data['regdata']['mobilephone'], db_info) def test_recharge(baserequest, url, register_login, recharge_data): r = Member.recharge(baserequest, url, recharge_data['recdata']) print(r.text)
import pytest from zonghe.baw import Member from zonghe.caw import DataRead, MySQLOp @pytest.fixture(params=DataRead.read_yaml(r"test_data\login.yaml")) def login_data(request): return request.param def test_login(login_data, baserequest, url, db_info): # 注册用户 print("注册数据", login_data['regdata']) r = Member.register(baserequest, url, login_data['regdata']) # 登录 print("登录数据", login_data['logindata']) r = Member.login(baserequest, url, login_data['logindata']) # 检查结果 assert r.json()['code'] == login_data['expect']['code'] assert r.json()['status'] == login_data['expect']['status'] assert r.json()['msg'] == login_data['expect']['msg'] # 删除注册用户 MySQLOp.delete_user(db_info, login_data['regdata']['mobilephone'])
def db(): #使用eval(),将字符串转为字典 return eval(DataRead.readini("zonghe/data_env/env.ini", "db"))
def url(): return DataRead.readini("zonghe/data_env/env.ini", "url")
def db_info(): # eval解析为原本的格式 return eval(DataRead.read_ini(r"test_env\env.ini", "db_info"))
''' 测试登录功能 ''' import pytest from zonghe.baw import DbOp, Member from zonghe.caw import DataRead @pytest.fixture(params=DataRead.readyaml(r"ZongHe/data_case/login_data.yaml")) def login_data(request): return request.param @pytest.fixture(params=DataRead.readyaml(r"ZongHe/data_case/login_setup.yaml")) def setup_data(request): return request.param # 测试前置和后置 @pytest.fixture() def register(setup_data, url, baserquests, db): # 注册 phone = setup_data['casedata']['mobilephone'] DbOp.deleteUser(db, phone) Member.register(url, baserquests, setup_data['casedata']) yield # 删除注册用户 DbOp.deleteUser(db, phone)
def url(): return DataRead.read_ini(r"test_env\env.ini", 'url')
def db(): return eval(DataRead.readIni(r"zonghe\data_env\env.ini", "db"))
def url(): return DataRead.readIni("zonghe\data_env\env.ini", "url")
def db_info(): #ini解析读出来的是字符串,但要使用的是字典用eval解析为原本格式 s = DataRead.read_ini(r'test_env\env.ini', 'db_info') print('ssssssssssssssssssssssss', s) return eval(s)
''' 测试注册的脚本 ''' import pytest from zonghe.baw import Member from zonghe.caw import DataRead, MySqlOp, Check @pytest.fixture(params=DataRead.read_yaml("test_data/register_fail.yaml")) def fail_data(request): return request.param def test_register_fail(fail_data, baserequest, url): ''' 注册失败的脚本 :return: ''' print(fail_data) # 下发请求 r = Member.register(baserequest, url, fail_data['data']) print(r.text) # 检查结果与预期结果一致 # assert r.json()['code'] == fail_data['expect']['code'] # assert r.json()['status'] == fail_data['expect']['status'] # assert r.json()['msg'] == fail_data['expect']['msg'] Check.equal(r.json(), fail_data['expect'], 'code,status,msg') @pytest.fixture(params=DataRead.read_yaml("test_data/register_pass.yaml"))
def db_info(): #ini读出来是字符串,但是使用时db_info是字典,使用eavl解析为原本的格式 return eval(DataRead.read_ini(r"test_env\env.ini", "db_info"))
''' 注册的测试脚本(pytest) ''' import pytest from zonghe.caw import DataRead from zonghe.baw import Member, DbOp import requests #读取yaml文件 @pytest.fixture(params=DataRead.readyaml("zonghe/data_case/register_fail.yaml") ) def fail_data(request): return request.param @pytest.fixture(params=DataRead.readyaml("zonghe/data_case/register_pass.yaml") ) def pass_data(request): return request.param @pytest.fixture( params=DataRead.readyaml("zonghe/data_case/register_repeat.yaml")) def repeat_data(request): return request.param #注册失败 def test_register_fail(fail_data, url, baserequests): print(f"测试数据为:{fail_data['casedata']}")
import pytest from zonghe.baw import Member from zonghe.caw import DataRead, MySqlOp @pytest.fixture(params=DataRead.read_yaml(r"test_data\login_setup.yaml")) def setup_data(request): return request.param @pytest.fixture(params=DataRead.read_yaml(r"test_data\login_data.yaml")) def login_data(request): return request.param @pytest.fixture() def register(setup_data,baserequest,url,db_info): #初始化 MySqlOp.delete_user(db_info, setup_data['data']['mobilephone']) #注册用户 r = Member.register(baserequest,url,setup_data['data']) yield #删除注册用户 MySqlOp.delete_user(db_info, setup_data['data']['mobilephone']) def test_login(register,login_data,baserequest,url): print(login_data)
import pytest from zonghe.caw import DataRead from zonghe.baw import Member, DbOp import requests #读取yaml文件 @pytest.fixture(params=DataRead.readyaml("zonghe/data_case/setup_data.yaml")) def setup_data(request): return request.param #登录的测试脚本(pytest) @pytest.fixture(params=DataRead.readyaml("zonghe/data_case/login_pass.yaml")) def pass_data(request): return request.param #测试的前置和后置 @pytest.fixture() def register(pass_data, url, baserequests, db): phone = pass_data['casedata']['mobilephone'] DbOp.deleteUser(db, phone) Member.register(url, baserequests, pass_data['casedata']) yield #删除登录用户 DbOp.deleteUser(db, phone)
''' 测试注册用例 ''' import pytest from zonghe.baw import Member from zonghe.caw import DataRead, Check from zonghe.caw.MySqlOp import delete_user @pytest.fixture(params=DataRead.read_Yaml(r'test_data\register_fail.yaml')) def fail_data(request): return request.param def test_register_fail(baserequest,url,fail_data): ''' 注册失败脚本 :return: ''' print(fail_data) #下发请求 r = Member.register(baserequest,url,fail_data['data']) print(r.text) #检查结果与预期结果一致 assert r.json()['status'] == fail_data['expect']['status'] assert r.json()['code'] == fail_data['expect']['code'] assert r.json()['msg'] == fail_data['expect']['msg']
import pytest from zonghe.baw import Member from zonghe.caw import DataRead from zonghe.caw.MySqlOp import delete_user @pytest.fixture(params=DataRead.read_Yaml(r'test_data/login_pass.yaml')) def pass_data(request): return request.param @pytest.fixture() def register(): #注册用户 yield #删除用户 def test_login_pass(baserequest, url, pass_data, db_info): ''' 注册成功 :return: ''' #下发请求 delete_user(db_info, pass_data['data']['mobilephone']) print('dbifo=========================', db_info) r = Member.register(baserequest, url, pass_data['data']) r = Member.login(baserequest, url, pass_data['data']) print('登录', r.text)
# @Time : 2021/2/23 14:12 # @Author:曹晶晶 # @File : test_register.py '''注册脚本''' import pytest from zonghe.baw import Member from zonghe.caw import DataRead, MySqlOp, Check # 参数 from zonghe.test_script.conftest import baserequest, url @pytest.fixture(params=DataRead.read_yaml(r"test_data\register_fail.yaml")) def fail_data(request): return request.param @pytest.fixture(params=DataRead.read_yaml(r"test_data\rejster_success.yaml")) def sucess_data(request): return request.param # 注意带参数的测试用例,conftest配置文件实现前置应用 def test_register_fail(fail_data, baserequest, url): ''' :return: ''' # 下发请求 # 检查结果与预期结果一致 print(fail_data)
print(f"断开数据库连接失败,异常信息为:{e}") # 执行数据库 def execute(conn, sql): try: cursor = conn.cursor() # 获取游标 cursor.execute(sql) # 执行SQL语句 conn.commit() # 提交 print("删除成功") cursor.close() # 关闭游标 except Exception as e: print(f"执行SQL语句失败,异常信息为:{e}") def delete_user(mobilephone, db_info): ''' :param mobilephone: :param db_info: :return: ''' conn = connect(db_info) execute(conn, f"delete from member where mobilephone={mobilephone};") disconnect(conn) if __name__ == '__main__': db_info = DataRead.read_ini(r"test_env\env.ini", "db_info") db_info = json.loads(db_info) delete_user("13073514019", db_info)
def db_info(): # ini读出来是字符串,但是使用时db_info是字典,使用eval解析位原来的格式 return eval(DataRead.read_ini(r"/test_env/env.ini", "db_info"))
def db_info(): #ini读出来的是字符串,但是使用db_info是字典,使用eval解析为原来的格式 return eval(DataRead.read_ini(r"test_env\env.ini", "db_info"))