def test_user_register(self, value): case_id = value.CaseId case_title = value.Title case_url = value.URL case_data = value.Data api_name = value.ApiName case_expected = HandleJson.json_to_dict(value.Expected) # 期望值(字典) sql = value.Sql request_url = do_config("Project", "Url") + case_url # 请求地址 case_data = DataReplace.parameters_register_api(case_data) response = WebService.send_request(request_url, api_name, case_data) if sql and api_name == 'sendMCode': sql = DataReplace.parameters_register_api(sql) verify_code = str(self.mysql(sql=sql)["Fverify_code"]) setattr(DataReplace, 'verify_code', verify_code) actual_dict = dict(response) if sql and ("is_exist_db" in case_expected.keys()): # 如果注册成功,去验证一下数据库 {"retCode": "0", "retInfo": "ok","is_exist_db":"yes"} case_data = HandleJson.json_to_dict(case_data) user_name = case_data["user_id"] # 注册成功之后得到user_id 去数据库搜索对应的帐号信息 setattr(DataReplace, 'user_name', user_name) sql = DataReplace.parameters_register_api(sql) user_info = self.mysql(sql) if user_info: actual_dict["is_exist_db"] = "yes" else: actual_dict["is_exist_db"] = "no" actual_str = str(actual_dict) try: logger.info("测试用例执行实际结果为:[{}]".format(actual_str)) do_excel.write_cell(do_config("Excel", "userRegisterApi"), case_id + 1, do_config("Excel", "actual_column"), actual_str) self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title)) except AssertionError as e: do_excel.write_cell(do_config("Excel", "userRegisterApi"), case_id + 1, do_config("Excel", "result_column"), 'Fail', color='red') logger.error("测试用例[{}]执行结果:{}\n具体原因信息:{}".format( case_title, "Fail", e)) raise e else: do_excel.write_cell(do_config("Excel", "userRegisterApi"), case_id + 1, do_config("Excel", "result_column"), 'Pass', color='green') logger.error("测试用例[{}]执行结果:{}".format(case_title, "Pass"))
def test_bind_bank_card(self, value): case_id = value.CaseId case_title = value.Title case_url = value.URL case_data = value.Data api_name = value.ApiName case_expected = HandleJson.json_to_dict(value.Expected) request_url = do_config("Project", "Url") + case_url sql = value.Sql case_data = DataReplace.parameters_bind_bank_card_api(case_data) response = WebService.send_request(request_url, api_name, case_data) if sql and api_name == "sendMCode": code_sql = DataReplace.parameters_bind_bank_card_api(sql) verify_code = str(self.mysql(sql=code_sql)["Fverify_code"]) setattr(DataReplace, 'verify_code', verify_code) if sql and api_name == "userRegister": case_data = HandleJson.json_to_dict(case_data) user_name = case_data["user_id"] setattr(DataReplace, "user_name", user_name) uid_sql = DataReplace.parameters_bind_bank_card_api(sql) trued_uid = str(self.mysql(uid_sql)["Fuid"]) setattr(DataReplace, "trued_uid", trued_uid) actual_dict = dict(response) actual_str = str(actual_dict) try: logger.info("测试用例执行实际结果为:[{}]".format(actual_str)) do_excel.write_cell(do_config("Excel", "bindBankCardApi"), case_id + 1, do_config("Excel", "actual_column"), actual_str) self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title)) except AssertionError as e: do_excel.write_cell(do_config("Excel", "bindBankCardApi"), case_id + 1, do_config("Excel", "result_column"), 'Fail', color='red') logger.error("测试用例[{}]执行结果:{}\n具体原因信息:{}".format( case_title, "Fail", e)) raise e else: do_excel.write_cell(do_config("Excel", "bindBankCardApi"), case_id + 1, do_config("Excel", "result_column"), 'Pass', color='green') logger.error("测试用例[{}]执行结果:{}".format(case_title, "Pass"))
def test_send_code(self, value): case_id = value.CaseId case_title = value.Title case_url = value.URL case_data = value.Data api_name = value.ApiName case_expected = HandleJson.json_to_dict(value.Expected) request_url = do_config("Project", "Url") + case_url case_data = DataReplace.parameters_verify_code_api(case_data) response = WebService.send_request(request_url, api_name, case_data) actual_dict = dict(response) actual_str = str(actual_dict) try: logger.info("测试用例执行实际结果为:[{}]".format(actual_str)) do_excel.write_cell(do_config("Excel", "sendMCodeApi"), case_id + 1, do_config("Excel", "actual_column"), actual_str) self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title)) except AssertionError as e: do_excel.write_cell(do_config("Excel", "sendMCodeApi"), case_id + 1, do_config("Excel", "result_column"), 'Fail', color='red') logger.error("测试用例[{}]执行结果:{}\n具体原因信息:{}".format( case_title, "Fail", e)) raise e else: do_excel.write_cell(do_config("Excel", "sendMCodeApi"), case_id + 1, do_config("Excel", "result_column"), 'Pass', color='green') logger.error("测试用例[{}]执行结果:{}".format(case_title, "Pass"))
def test_verify_user_auth(self, value): case_id = value.CaseId case_title = value.Title case_url = value.URL case_data = value.Data api_name = value.ApiName sql = value.Sql case_expected = HandleJson.json_to_dict(value.Expected) request_url = do_config("Project", "Url") + case_url case_data = DataReplace.parameters_verify_user_auth_api(case_data) response = WebService.send_request(request_url, api_name, case_data) actual_dict = dict(response) if sql and api_name == "sendMCode": code_sql = DataReplace.parameters_verify_user_auth_api(sql) verify_code = str(self.mysql(sql=code_sql)["Fverify_code"]) setattr(DataReplace, 'verify_code', verify_code) if sql and api_name == "userRegister": case_data = HandleJson.json_to_dict(case_data) user_name = case_data["user_id"] setattr(DataReplace, "user_name", user_name) registered_uid_sql = DataReplace.parameters_verify_user_auth_api( sql) registered_uid = str(self.mysql(registered_uid_sql)["Fuid"]) setattr(DataReplace, "uid", registered_uid) # 验证实名认证成功时, 是否是有效的认证(姓名和身份证不匹配时是无效的认证) if sql and api_name == "verifyUserAuth": case_data = HandleJson.json_to_dict(case_data) true_name = case_data["true_name"] # 认证成功时的真实姓名 setattr(DataReplace, "true_name", true_name) sql = DataReplace.parameters_verify_user_auth_api(sql) state = str(self.mysql(sql)["Flstate"]) if state == "1": actual_dict["Flstate"] = "有效" else: actual_dict["Flstate"] = "无效" actual_str = str(actual_dict) try: logger.info("测试用例执行实际结果为:[{}]".format(actual_str)) do_excel.write_cell(do_config("Excel", "verifyUserAuthApi"), case_id + 1, do_config("Excel", "actual_column"), actual_str) self.assertEqual(case_expected, actual_dict, msg='用例[{}]测试失败'.format(case_title)) except AssertionError as e: do_excel.write_cell(do_config("Excel", "verifyUserAuthApi"), case_id + 1, do_config("Excel", "result_column"), 'Fail', color='red') logger.error("测试用例[{}]执行结果:{}\n具体原因信息:{}".format( case_title, "Fail", e)) raise e else: do_excel.write_cell(do_config("Excel", "verifyUserAuthApi"), case_id + 1, do_config("Excel", "result_column"), 'Pass', color='green') logger.error("测试用例[{}]执行结果:{}".format(case_title, "Pass"))