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