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"))
Example #3
0
 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"))