Esempio n. 1
0
	def test_add(self,one_case):
		# data = one_case['data']           #需要进行参数化
		new_data = Context.admin_user_tel_pwd_replace(one_case['data'])     #需要实现
		new_url = do_config.get_value('api', 'prefix_url') + one_case['url']



		#向服务器发起请求
		res = self.do_request.to_request(method=one_case['method'],
										   url=new_url,
										   data=new_data)
		#期望值
		expect_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(str(expect_result), code, msg=msg)
			self.assertIn(str(expect_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
Esempio n. 2
0
    def to_request(self, method, url, data=None, is_json=False, **kwargs):
        method = method.upper()

        data = self.para_to_str(data)
        # if isinstance(data, str):
        #     try:
        #         data = json.loads(data)
        #     except Exception as e:
        #         data = eval(data)
        #         do_logger.error('将json转为python中的数据类型时,出现异常:{}'.format(e))

        if method == 'GET':
            res = self.one_session.request(method=method,
                                           url=url,
                                           params=data,
                                           **kwargs)
        elif method == 'POST':

            if is_json:
                res = self.one_session.request(method=method,
                                               url=url,
                                               json=data,
                                               **kwargs)
            else:
                res = self.one_session.request(method=method,
                                               url=url,
                                               data=data,
                                               **kwargs)
        else:
            res = None

            do_logger.error('不支持【{}】方法名'.format(method))

        return res
Esempio n. 3
0
 def send_request(self, method, url, data=None, is_json=False, **kwargs):
     method = method.upper()
     if isinstance(data, str):
         try:
             data = json.loads(data)
         except Exception as e:
             do_logger.error("将json转为Python中的数据类型时, 出现异常: {}".format(e))
             data = eval(data)
     if method == 'GET':
         res = self.one_session.request(method=method,
                                        url=url,
                                        params=data,
                                        **kwargs)
     elif method == 'POST':
         if is_json:
             res = self.one_session.request(method=method,
                                            url=url,
                                            json=data,
                                            **kwargs)
         else:
             res = self.one_session.request(method=method,
                                            url=url,
                                            data=data,
                                            **kwargs)
     else:
         res = None
         do_logger.error("不支持【{}】方法请求".format(method))
     return res
Esempio n. 4
0
 def para_to_str(self, para):
     if isinstance(para, str):
         try:
             para = json.loads(para)
         except Exception as e:
             para = eval(para)
             do_logger.error('将json转为python中的数据类型时,出现异常:{}'.format(e))
     return para
Esempio n. 5
0
    def test_recharge(self, one_case):
        # data = one_case['data']           #需要进行参数化
        new_data = Context.recharge_parameterization(one_case['data'])  #需要实现
        new_url = do_config.get_value('api', 'prefix_url') + one_case['url']

        check_sql = one_case['check_sql']
        if check_sql:
            check_sql = Context.recharge_parameterization(check_sql)
            mysql_data = self.handle_mysql.to_run(
                check_sql)  #decimal.Decimal类型
            amount_before_recharge = float(mysql_data['LeaveAmount'])
            amount_before_recharge = round(amount_before_recharge, 2)
            dict_data = json.loads(new_data, encoding='utf-8')
            recharge_number = dict_data['amount']

        #向服务器发起请求
        res = self.do_request.to_request(method=one_case['method'],
                                         url=new_url,
                                         data=new_data)
        #期望值
        expect_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']
        code = res.json().get('code')

        try:
            self.assertEqual(str(expect_result), code, msg=msg)
            # self.assertIn(str(expect_result), res.text, msg=msg)
            if check_sql:
                mysql_data = self.handle_mysql.to_run(
                    check_sql)  # decimal.Decimal类型
                amount_after_recharge = float(mysql_data['LeaveAmount'])
                amount_after_recharge = round(amount_after_recharge, 2)
                self.assertEqual(
                    recharge_number,
                    (amount_after_recharge - amount_before_recharge),
                    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
Esempio n. 6
0
    def test_invest(self, one_case):
        # data = one_case['data']           #需要进行参数化
        # print(data)
        # print(type(data))
        new_data = Context.invest_parameterization(one_case['data'])  #需要实现
        print('-----------------')
        print(new_data)
        print('&&&&&&&&&&&&&&&&&&&')
        new_url = do_config.get_value('api', 'prefix_url') + one_case['url']

        #向服务器发起请求
        res = self.do_request.to_request(method=one_case['method'],
                                         url=new_url,
                                         data=new_data)

        if '加标成功' in res.text:
            check_sql = one_case['check_sql']
            if check_sql:
                check_sql = Context.invest_parameterization(check_sql)
                print(check_sql)
                mysql_data = self.handle_mysql.to_run(check_sql)
                print(mysql_data, type(mysql_data))
                #动态修改或者获取变量的一个过程
                # Context.loan_id = mysql_data.get('Id')   #类属性
                setattr(Context, "loan_id", mysql_data['Id'])
                print('-----动态----', getattr(Context, "loan_id"))
        #期望值
        expect_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(str(expect_result), code, msg=msg)
            self.assertIn(str(expect_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
Esempio n. 7
0
 def test_invest(self, case_list):
     case_list_str = str(case_list)
     context_data = HandleContext.manager_user_tel(case_list_str)
     context_data = HandleContext.manager_user_pwd(context_data)
     context_data = HandleContext.borrower_user_id(context_data)
     context_data = HandleContext.loan_id(context_data)
     context_data = HandleContext.investors_user_tel(context_data)
     context_data = HandleContext.investors_user_id(context_data)
     context_data = HandleContext.investors_user_pwd(context_data)
     context_data = HandleContext.not_existed_user_id(context_data)
     context_data = HandleContext.not_exitsed_loan_id(context_data)
     case_list_dict = eval(context_data)
     request_data = case_list_dict['data']
     method = case_list_dict['method']
     url = do_config.get_value(
         'request', 'default_address') + case_list_dict['url_path']
     res = do_request.send_request(method, url, data=request_data)
     add_success_msg = do_config.get_value('request', 'add_success_msg')
     actual = res.text
     if add_success_msg in actual:
         check_sql = case_list_dict['check_sql']
         if check_sql:
             loan_id_sql = do_mysql.sql_search(check_sql)
             loan_id_value = loan_id_sql['Id']
             setattr(HandleContext, 'loan_idw', loan_id_value)
     result = str(case_list_dict['expected'])
     msg = case_list_dict['title']
     true_result = do_config.get_value('msg', 'true_result')
     fail_result = do_config.get_value('msg', 'fail_result')
     try:
         self.assertIn(result, actual, msg)
         print('{},执行结果为:{}'.format(msg, true_result))
         my_excel.write_result(case_list_dict['case_id'] + 1, actual,
                               true_result)
         do_logger.error("{}, 执行结果为: {}".format(msg, true_result))
     except AssertionError as e:
         print('具体异常为{}'.format(e))
         my_excel.write_result(case_list_dict['case_id'] + 1, actual,
                               fail_result)
         do_logger.error("{}, 执行结果为: {},具体异常为{}".format(
             msg, fail_result, e))
         raise e
Esempio n. 8
0
 def test_login(self, case_list):
     self.my_HandleExcel = HandleExcel(DATA_COMMON_FILE_PATH, 'login')
     request_result = do_request.send_request(case_list['method'],
                                              do_config.get_value('request', 'default_address') + case_list[
                                                  'url_path'],
                                              case_list['data'])
     actual_text = request_result.text
     actual_value = json.loads(actual_text)['code']
     actual = 'code: "{}",'.format(actual_value)
     result = case_list['expected']
     msg = case_list['title']
     try:
         self.assertEqual(result, actual, msg)
         print('{},执行结果为:{}'.format(msg, true_result))
         self.my_HandleExcel.write_result(case_list['case_id'] + 1, actual, true_result)
         do_logger.error("{}, 执行结果为: {}".format(msg, true_result))
     except AssertionError as e:
         print('具体异常为{}'.format(e))
         self.my_HandleExcel.write_result(case_list['case_id'] + 1, actual, fail_result)
         do_logger.error("{}, 执行结果为: {},具体异常为{}".format(msg, fail_result, e))
         raise e
Esempio n. 9
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
Esempio n. 10
0
 def test_recharge(self, case_list):
     self.my_HandleExcel = HandleExcel(DATA_COMMON_FILE_PATH, 'recharge')
     if case_list['check_sql']:
         before_sql_data = do_mysql.sql_search(
             case_list['check_sql'],
             virtue=eval(case_list['data'])['mobilephone'])
         self.before_leaveamount = float(before_sql_data['LeaveAmount'])
     request_result = do_request.send_request(
         case_list['method'],
         do_config.get_value('request', 'default_address') +
         case_list['url_path'], case_list['data'])
     actual = int(request_result.json().get('code'))
     result = case_list['expected']
     msg = case_list['title']
     try:
         self.assertEqual(result, actual, msg)
         if case_list['check_sql']:
             after_sql_data = do_mysql.sql_search(
                 case_list['check_sql'],
                 virtue=eval(case_list['data'])['mobilephone'])
             after_leaveamount = float(after_sql_data['LeaveAmount'])
             true_results = after_leaveamount - self.before_leaveamount
             self.assertEqual(
                 eval(case_list['data'])['amount'], round(true_results, 2),
                 msg)
         print('{},执行结果为:{}'.format(msg, true_result))
         self.my_HandleExcel.write_result(case_list['case_id'] + 1, actual,
                                          true_result)
         do_logger.error("{}, 执行结果为: {}".format(msg, true_result))
     except AssertionError as e:
         print('具体异常为{}'.format(e))
         self.my_HandleExcel.write_result(case_list['case_id'] + 1, actual,
                                          fail_result)
         do_logger.error("{}, 执行结果为: {},具体异常为{}".format(
             msg, fail_result, e))
         raise e