def test_add(self, add): print("测试的用例是:{}".format(add['description'])) login_data = Parameter.add_parameter(login_success[0]['param']) self.session_request.request(login_success[0]['method'], login_success[0]['url'], eval(login_data)) add_param = eval(Parameter.add_parameter(add['param'])) print("测试的数据是:{}".format(add_param)) res = self.session_request.request(add['method'], add['url'], data=add_param) test_result = None write_res = DoExcel(project_path.CASE_FILE_PATH, 'add') try: # self.assertEqual(str(res.json()['code']), str(add['except_code'])) self.assertIn(str(add['except_code']), res.text) my_logger.info(res.text) test_result = succeed except AssertionError as e: my_logger.error(e) test_result = failed raise e finally: print("测试结果是:", res.text) write_res.write_result(add['id'] + 1, res.json()['code'], test_result)
def test_register(self, register): print("测试的用例是:{}".format(register['description'])) param = Parameter.register_parameter(register['param']) print("测试的数据是:{}".format(param)) res = self.request.http_request(register['url'], register['method'], datas=param) test_result = None write_res = DoExcel(project_path.CASE_FILE_PATH, 'register') try: # self.assertEqual(str(res.json()['code']), str(register['except_code'])) self.assertIn(str(register['except_code']), res.text) my_logger.info(res.text) test_result = succeed except AssertionError as e: my_logger.error(e) test_result = failed raise e finally: print("测试结果是:", res.text) write_res.write_result(register['id'] + 1, res.json()['code'], test_result)
def test_recharge(self, recharge): # 在测试报告中显示测试用例名称 print("测试的用例是:{}".format(recharge['description'])) login_data = eval( Parameter.recharge_parameter(login_success[0]['param'])) self.session_request.request(login_success[0]['method'], login_success[0]['url'], login_data) param = eval(Parameter.recharge_parameter(recharge['param'])) print("测试的数据是:{}".format(param)) # 查询数据库余额数据进行数据校验 seek_sql = recharge['seek_sql'] if seek_sql: seek_sql = Parameter.recharge_parameter(seek_sql) before_seek_res = self.check_sql.run_sql(seek_sql, site=1) # seek_res = json.loads(seek_res) # 将返回数据进行数据转换,数据库查询出数据为decimal.Decimal类型,并保留两位小数 before_amount = round(float(before_seek_res['LeaveAmount']), 2) # 调用充值接口 res = self.session_request.request(recharge['method'], recharge['url'], data=param) test_result = None write_res = DoExcel(project_path.CASE_FILE_PATH, 'recharge') try: # self.assertEqual(str(res.json()['code']), str(recharge['except_code'])) self.assertIn(str(recharge['except_code']), res.text) if seek_sql: # 前一个sql已经完成参数化 # seek_sql = Parameter.recharge_parameter(seek_sql) after_seek_res = self.check_sql.run_sql(seek_sql, site=1) after_amount = round(float(after_seek_res['LeaveAmount']), 2) # 判断充值前后账户金额的变化是否正确 self.assertEqual(after_amount, before_amount + param['amount']) my_logger.info(res.text) test_result = succeed except AssertionError as e: my_logger.error(e) test_result = failed raise e finally: print("测试结果是:", res.text) write_res.write_result(recharge['id'] + 1, res.json()['code'], test_result)
def test_bidloan(self, bidloan): print("测试的用例是:{}".format(bidloan['description'])) # login_data = eval(Parameter.lodn_parameter(login_success[0]['param'])) # self.session_request.request(login_success[0]['method'], login_success[0]['url'], # login_data) loan_param = eval(Parameter.loan_parameter(bidloan['param'])) # self.session_request.request(bidloan['method'], bidloan['url'],bidloan) print("测试的数据是:{}".format(loan_param)) res = self.session_request.request(bidloan['method'], bidloan['url'], loan_param) # 获取成功加标的id if "加标成功" in res.text: check_sql = bidloan['seek_sql'] if check_sql: check_sql = Parameter.loan_parameter(check_sql) check_data = self.do_mysql.run_sql(check_sql, site=1) loan_id = check_data['Id'] # 取出加标ID print(loan_id) # 动态创建属性 setattr(Parameter, "loan_id", loan_id) test_result = None write_res = DoExcel(project_path.CASE_FILE_PATH, 'bidLoan') try: # self.assertEqual(str(res.json()['code']), str(bidloan['except_code'])) self.assertIn(str(bidloan['except_code']), res.text) my_logger.info(res.text) test_result = succeed except AssertionError as e: my_logger.error(e) test_result = failed raise e finally: print("测试结果是:", res.text) write_res.write_result(bidloan['id'] + 1, res.json()['code'], test_result)
#!/usr/bin/env.python # -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/15 23:47 import re from common_code.operate_excel import DoExcel from common_code.project_path import CASE_FILE_PATH data_str = DoExcel(CASE_FILE_PATH, 'register').read_excel(2, end_row=2) print(data_str[0]) math_res = re.match(r"{'id", str(data_str[0])) print(math_res.group()) sea_res = re.search(r'\${unreg_phone}', str(data_str[0])) print(sea_res.group()) sub_res = re.sub(r'\${unreg_phone}', '13333333333', str(data_str[0])) print(sub_res)
#!/user/bin/env python # -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/16 0016 15:09 import unittest from libs.ddt import ddt, data from common_code.operate_http_requests import HttpRequest from common_code import project_path from common_code.operate_config import DoConfig from common_code.operate_log import my_logger from common_code.operate_excel import DoExcel from common_code.parameterization import Parameter add_data = DoExcel(project_path.CASE_FILE_PATH, 'add').read_excel(2) login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(3, end_row=3) succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'succeed') failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'failed') @ddt class TestAdd(unittest.TestCase): @classmethod def setUpClass(cls): cls.request = HttpRequest() cls.session_request = cls.request.request_session
# -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/16 0016 15:09 import unittest from libs.ddt import ddt, data from common_code.operate_http_requests import HttpRequest from common_code import project_path from common_code.operate_config import DoConfig from common_code.operate_log import my_logger from common_code.operate_excel import DoExcel from common_code.parameterization import Parameter from common_code.operate_mysql import OperateMysql recharge_data = DoExcel(project_path.CASE_FILE_PATH, 'recharge').read_excel(2) login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(2, end_row=2) succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'succeed') failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'failed') @ddt class TestRecharge(unittest.TestCase): @classmethod def setUpClass(cls): cls.request = HttpRequest() cls.session_request = cls.request.request_session
#!/user/bin/env python # -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/16 0016 15:08 import unittest from libs.ddt import ddt, data from common_code.operate_http_requests import HttpRequest from common_code import project_path from common_code.operate_config import DoConfig from common_code.operate_log import my_logger from common_code.operate_excel import DoExcel from common_code.parameterization import Parameter login_data = DoExcel(project_path.CASE_FILE_PATH, 'login').read_excel(2) succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'succeed') failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'failed') @ddt class TestLogin(unittest.TestCase): @classmethod def setUpClass(cls): cls.request = HttpRequest() cls.session_request = cls.request.request_session @data(*login_data) def test_login(self, login):
# 替换投资人ID loan_data = re.sub(cls.loan_pattern, loan_memberid, loan_data) # 替换投资人帐号 loan_data = re.sub(cls.recharge_pattern, loan_phone, loan_data) # 替换管理员帐号 loan_data = re.sub(cls.admin_user_pattern, admin_phone, loan_data) # 替换借款人ID loan_data = re.sub(cls.borrow_id_pattern, borrow_id, loan_data) # 获取属性并参数化标ID if re.search(cls.loan_id_pattern, loan_data): loan_id = str(getattr(cls, "loan_id")) loan_data = re.sub(cls.loan_id_pattern, loan_id, loan_data) return loan_data if __name__ == '__main__': from common_code.operate_excel import DoExcel from common_code.project_path import CASE_FILE_PATH data_str = DoExcel(CASE_FILE_PATH, 'register').read_excel(2) data_str1 = DoExcel(CASE_FILE_PATH, 'add').read_excel(2) data_str2 = DoExcel(CASE_FILE_PATH, 'bidLoan').read_excel(2) data_str3 = DoExcel(CASE_FILE_PATH, 'recharge').read_excel(2) data_str4 = DoExcel(CASE_FILE_PATH, 'login').read_excel(2) print(Parameter.register_parameter(str(data_str[0]))) print(Parameter.register_parameter(str(data_str[4]))) print(Parameter.add_parameter(str(data_str1[0]))) print(Parameter.loan_parameter(str(data_str2))) print(Parameter.recharge_parameter(str(data_str3)))
#!/user/bin/env python # -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/8 0008 14:34 import unittest from libs.ddt import ddt, data from common_code.operate_http_requests import HttpRequest from common_code import project_path from common_code.operate_config import DoConfig from common_code.operate_log import my_logger from common_code.operate_excel import DoExcel from common_code.parameterization import Parameter register_data = DoExcel(project_path.CASE_FILE_PATH, 'register').read_excel(2) login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(2) succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'succeed') failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info( 'test_result', 'failed') @ddt class TestRegister(unittest.TestCase): @classmethod def setUpClass(cls): cls.request = HttpRequest() cls.session_request = cls.request.request_session
# -*- coding: utf-8 -*- # __author__ = yangyd # Create time: 2019/7/16 0016 15:09 import unittest from libs.ddt import ddt, data from common_code.operate_http_requests import HttpRequest from common_code import project_path from common_code.operate_config import DoConfig from common_code.operate_log import my_logger from common_code.operate_excel import DoExcel from common_code.parameterization import Parameter from common_code.operate_mysql import OperateMysql bidloan_data = DoExcel(project_path.CASE_FILE_PATH, 'bidLoan').read_excel(2) # login_success = DoExcel(project_path.CASE_FILE_PATH, 'loginsuccess').read_excel(4, end_row=4) succeed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'succeed') failed = DoConfig(project_path.CONFIG_FILE_PATH).read_info('test_result', 'failed') @ddt class TestBidlodn(unittest.TestCase): @classmethod def setUpClass(cls): cls.request = HttpRequest() cls.session_request = cls.request.request_session cls.do_mysql = OperateMysql()