class WithdrawTestCase(unittest.TestCase): excel = do_excel.DoExcel(Data_Path, 'withdraw') cases = excel.read_data_object_2() request = request_tool.RequestTool() st = sql_tool.SQLTools() @data(*cases) def demo_test_recharge(self, case): #数据替换! old_money = 0 # 先查询! if case.sql_check: old_money = self.st.select_one(case.sql_check) # 1.准备数据 json = eval(case.data) expectation = eval(case.expectation) description = case.description url = case.url method = case.method row = case.case_id + 1 # 2.调用接口 my_log.info('-------->调用' + description + '接口,访问:' + url) my_log.info('-------->参数为:' + str(json)) result = self.request.request(url=url, requestMethod=method, data=json) # result = response.json() # 3.比对预期和实际结果: try: self.assertEqual(expectation, result) # 再查询 if case.sql_check: new_money = self.st.select_one(case.sql_check) recharge_money_ex = old_money[0] - new_money[0] # Decimal recharge_money_re = json.get('holdMoney') # 字符串! self.assertEqual(decimal.Decimal(recharge_money_re), recharge_money_ex) except AssertionError as e: print('不通过') self.excel.write_result(row, 8, '不通过') my_log.info('-------->' + description + '接口测试未通过') raise e else: print('通过') my_log.info('-------->' + description + '接口测试通过') self.excel.write_result(row, 8, '通过')
def phone_number(self): per_list = [ '131', '132', '133', '134', '135', '136', '137', '138', '139', '181', '187', '188' ] while True: phone = per_list[random.randint(0, len(per_list) - 1)] for i in range(8): item = str(random.randint(0, 9)) phone += item # 数据库中校验: if not sql_tool.SQLTools().select_count( 'select * from cola_member where phoneNumber = ' + phone): return phone
class RegisterTestCase(unittest.TestCase): excel = do_excel.DoExcel(Data_Path, 'register') cases = excel.read_data_object_2() request = request_tool.RequestTool() st = sql_tool.SQLTools() @data(*cases) def test_register(self, case): if '#' in case.data: case.data = re_replace(case.data) if '*' in case.data: phone_number = self.phone_number() account_id = self.account_id() case.data = case.data.replace('*phoneNumber*', phone_number) case.data = case.data.replace('*accountId*', account_id) if case.sql_check: if '*' in case.sql_check: case.sql_check = case.sql_check.replace( '*phoneNumber*', phone_number)
def setUpClass(cls): cls.request = request_tool.RequestTool() cls.st = sql_tool.SQLTools() pass