def test_register(self, item): case_id = item["case_id"] title = item["title"] url = cf.get_value(conf_env, "prefix_url") + item["url"] method = item["method"] expected = item["expected"] data = item["data"] new_data = Context.register_parameterization(data) # 将数据中进行参数替换 msg = "测试" + title success_msg = cf.get_value("case", "success") fail_msg = cf.get_value("case", "fail") ret = self.request.send_request(method, url, new_data) try: self.assertEqual(ret.text, expected, msg) do_excel.write_value(case_id + 1, cf.get_int("case", "actual_col"), ret.text) do_excel.write_value(case_id + 1, cf.get_int("case", "result_col"), success_msg) logger.debug("{}, 执行结果为:{}".format(msg, success_msg)) except AssertionError as e: do_excel.write_value(case_id + 1, cf.get_int("case", "actual_col"), ret.text) do_excel.write_value(case_id + 1, cf.get_int("case", "result_col"), fail_msg) logger.error("{}, 执行结果为:{}, 异常结果为:{}".format(msg, fail_msg, e)) raise e
def test_UnRegister(self, case): print(case) Logging.info("测试用例名称为:{}".format(case["title"])) register_params = Context.register_parameterization(case["data"]) is_success, response = TestUnRegister.request.request( case["url"], case["method_name"], eval(register_params)) if is_success: case["actual"] = response["retCode"] case["result"] = str(response) TestUnRegister.case_list.append(case) Logging.info("response:{}".format(str(response))) try: self.assertEqual(int(case["expected"]), int(response["retCode"])) # 请求数据库 check_sql = case["check_sql"] if check_sql: check_sql = Context.register_parameterization(check_sql) print("第2 = " + check_sql) handle_sql = HandleMySql() mysql_data = handle_sql.get_value(check_sql) print(mysql_data) print(type(mysql_data)) verify_code = mysql_data["Fverify_code"] setattr(Context, "verify_code", str(verify_code)) handle_sql.close() except AssertionError as e: Logging.info("具体异常为:{}".format(e)) raise e else: if isinstance(response, WebFault): case["actual"] = response.fault.faultcode # 错误代码 case["result"] = response.fault.faultstring # 错误描述 TestUnRegister.case_list.append(case) Logging.info("response:{}".format(str(response.fault))) try: self.assertEqual(str(case["expected"]), response.fault.faultcode) except AssertionError as e: Logging.info("具体异常为:{}".format(e)) raise e
def test_login(self, one_case): new_data = Context.register_parameterization(one_case['data']) new_url = do_config.get_value('api', 'prefix_url') + one_case['url'] #向服务器发起请求 res = TestLogin.do_request.to_request(method=one_case['method'], url=new_url, data=new_data) #期望值 expected_result = one_case['expected'] msg = "测试" + one_case['title'] success_msg = do_config.get_value('msg', 'success_result') fail_msg = do_config.get_value('msg', 'fail_result') case_id = one_case['case_id'] try: self.assertEqual(expected_result, res.text, msg=msg) do_excel.write_result(case_id + 1, res.text, success_msg) do_logger.debug('{},执行结果为:{}'.format(msg, success_msg)) except AssertionError as e: do_excel.write_result(case_id + 1, res.text, fail_msg) do_logger.error('{}, 执行结果:{}具体异常为:{}'.format(msg, fail_msg, e)) raise e