Пример #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
Пример #2
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
Пример #3
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
    def test_register(self,one_case):
        case_id = one_case['case_id']
        title = one_case['title']
        data = one_case['data'] # 需要参数化, 将手机号替换
        new_data = HandleContext.register_paramaterization_not_exist(data) #参数已经被正常实际好替换
        do_logger.debug('获取到的data数据为:{},在第【{}】'.format(new_data,case_id+1))
        url = one_case['url']
        total_url = do_config.get_value('requests','url_head') + url
        method = one_case['method']
        expected = one_case['expected']

        header = do_config.get_eval_data('requests','login_headers')
        register_res =do_http_requests.to_request(method=method,
                                                  url=total_url,
                                                  data=new_data,
                                                  headers=header)
        #real_result = login_res.json()['msg']
        real_result = register_res.text    #返回是字符串格式json
        #real_result = str(register_res.json()) #

        expected_result = expected
        msg = '测试' + title
        success_msg = do_config.get_value('msg', 'success_result')
        fail_msg = do_config.get_value('msg', 'fail_result')

        try:
            self.assertEqual(expected_result,real_result,msg=msg)
            do_hanle_excel.write_case(case_id+1,real_result,success_msg)
            do_logger.debug('{},用例执行成功,执行结果为:{}'.format(msg,success_msg))
        except AssertionError as e:
            do_hanle_excel.write_case(case_id+1,real_result,fail_msg)
            do_logger.debug('{},用例用例执行失败,结果为:{},失败原因:{}'.format(msg,fail_msg,e))
            raise e
Пример #5
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
    def test_invest(self,one_case):
        case_id = one_case['case_id']
        title = one_case['title']
        data = one_case['data'] # 需要参数化, 将手机号替换
        #换位recharge的参数化
        new_data = HandleContext.invest_paramaterization(data) #参数已经被正常实际好替换
        do_logger.debug('获取到的new_data数据为:{},在第【{}】'.format(new_data,case_id+1))
        url = one_case['url']
        total_url = do_config.get_value('requests','url_head') + url
        method = one_case['method']
        expected = one_case['expected']
        check_sql = one_case['check_sql']
        header = do_config.get_eval_data('requests','login_headers')
        invest_res =do_http_requests.to_request(method=method,
                                                  url=total_url,
                                                  data=new_data,
                                                  headers=header)
        invest_res_content = invest_res.text
        if '加标成功' in invest_res_content:  # 确定一定是加标成功
            if check_sql:
                check_sql = HandleContext.invest_paramaterization(check_sql)
                mysql_data = self.handle_mysql.run_mysql(check_sql)
                loan_id = mysql_data['Id']
                do_logger.debug('load_id的值为【{}】,在第  {}  行,返回值类型 {}'.format(loan_id,case_id+1,type(loan_id)))
                # 使用全局变量来解决接口依赖,极有可能出现循环导入,会抛出异常
                #接口依赖是动态获取变量的过程
                #HandleContext.loan_id = loan_id
                setattr(HandleContext,"loan_id",loan_id) # 给一个对象动态的创建属性
        real_result = invest_res.json().get('code')    #返回是字符串格式json
        expected_result = expected
        msg = '测试' + title
        success_msg = do_config.get_value('msg', 'success_result')
        fail_msg = do_config.get_value('msg', 'fail_result')

        try:
            self.assertEqual(str(expected_result),real_result,msg=msg)
            do_hanle_excel.write_case(case_id+1,real_result,success_msg)
            do_logger.debug('{},用例执行成功,执行结果为:{}'.format(msg,success_msg))
        except AssertionError as e:
            do_hanle_excel.write_case(case_id+1,real_result,fail_msg)
            do_logger.debug('{},用例用例执行失败,结果为:{},失败原因:{}'.format(msg,fail_msg,e))
            raise e
Пример #7
0
    def test_register(self, one_case):
        case_id = one_case['case_id']
        title = one_case['title']
        data = one_case['data']  # 需要参数化, 将手机号替换
        new_data = HandleContext.add_paramaterization(data)  # 参数已经被正常实际好替换

        do_logger.debug('new_data为:{},类型【{}】在第【{}】'.format(
            new_data, type(new_data), case_id + 1))

        # if case_id > 1:
        #     new_data_update = json.loads(new_data, encoding='utf-8')
        #
        #     do_logger.debug(
        #         'new_data_update为:{},类型【{}】在第【{}】'.format(new_data_update, type(new_data_update), case_id + 1))
        #     memberId = new_data_update['memberId']
        #     do_logger.debug('memberID为:{},类型【{}】在第【{}】'.format(memberId, type(memberId), case_id + 1))

        url = one_case['url']
        total_url = do_config.get_value('requests', 'url_head') + url
        method = one_case['method']
        expected = one_case['expected']

        header = do_config.get_eval_data('requests', 'login_headers')
        register_res = do_http_requests.to_request(method=method,
                                                   url=total_url,
                                                   data=new_data,
                                                   headers=header)
        # real_result = login_res.json()['msg']
        real_result = register_res.json().get('code')  # 返回是字符串格式json

        expected_result = expected
        msg = '测试' + title
        success_msg = do_config.get_value('msg', 'success_result')
        fail_msg = do_config.get_value('msg', 'fail_result')
        try:
            self.assertEqual(str(expected_result), real_result, msg=msg)
            do_hanle_excel.write_case(case_id + 1, real_result, success_msg)
            do_logger.debug('{},用例执行成功,执行结果为:{}'.format(msg, success_msg))
        except AssertionError as e:
            do_hanle_excel.write_case(case_id + 1, real_result, fail_msg)
            do_logger.debug('{},用例用例执行失败,结果为:{},失败原因:{}'.format(
                msg, fail_msg, e))
            raise e
 def tearDownClass(cls):
     cls.handle_mysql.close()
     do_logger.debug('{}'.format('测试用例执行完毕,投资接口用例停止执行。。。。'))
 def setUpClass(cls):
     cls.handle_mysql = HandleMysql()
     do_logger.debug('{}'.format('开始执行投资接口用例。。。。'))
Пример #10
0
 def tearDownClass(cls):
     do_logger.debug('{}'.format('测试用例执行完毕,【加标接口用例】停止执行。。。。'))
Пример #11
0
 def setUpClass(cls):
     do_logger.debug('{}'.format('开始执行【加标接口】用例。。。。'))
Пример #12
0
    def test_recharge(self, one_case):
        case_id = one_case['case_id']
        title = one_case['title']
        data = one_case['data']  # 需要参数化, 将手机号替换
        #换位recharge的参数化
        new_data = HandleContext.recharge_paramaterization(data)  #参数已经被正常实际好替换
        do_logger.debug('获取到的data数据为:{},在第【{}】'.format(new_data, case_id + 1))
        url = one_case['url']
        total_url = do_config.get_value('requests', 'url_head') + url
        method = one_case['method']
        expected = one_case['expected']
        #充值之前查询金额
        check_sql = one_case['check_sql']
        if check_sql:
            check_sql = HandleContext.recharge_paramaterization(check_sql)
            mysql_data = self.handle_mysql.run_mysql(check_sql)
            amount_before_regarge = float(
                mysql_data['LeaveAmount'])  # 返回decimal类型,需要用float转换
            amount_before_regarge = round(amount_before_regarge, 2)

        header = do_config.get_eval_data('requests', 'login_headers')
        register_res = do_http_requests.to_request(method=method,
                                                   url=total_url,
                                                   data=new_data,
                                                   headers=header)
        #real_result = login_res.json()['msg']
        real_result = register_res.json().get('code')  #返回是字符串格式json

        expected_result = expected
        msg = '测试' + title
        success_msg = do_config.get_value('msg', 'success_result')
        fail_msg = do_config.get_value('msg', 'fail_result')

        try:
            self.assertEqual(str(expected_result), real_result, msg=msg)
            if check_sql:
                #check_sql = HandleContext.recharge_paramaterization(check_sql)
                #充值后的金额
                mysql_data = self.handle_mysql.run_mysql(check_sql)
                amount_after_regarge = float(
                    mysql_data['LeaveAmount'])  # 返回decimal类型,需要用float转换
                amount_after_regarge = round(amount_after_regarge, 2)
                amount_expect_charge = json.loads(data,
                                                  encoding='utf-8')['amount']
                do_logger.debug('{}....类型{},  在第【{}】行'.format(
                    amount_expect_charge, type(amount_expect_charge),
                    case_id + 1))
                #将数据中计算出的充值前后的差值,再次转换为 取后2位小数
                amount_sql_recharge = round(
                    amount_after_regarge - amount_before_regarge, 2)
                self.assertEqual(amount_expect_charge,
                                 amount_sql_recharge,
                                 msg=msg)

            do_hanle_excel.write_case(case_id + 1, real_result, success_msg)
            do_logger.debug('{},用例执行成功,执行结果为:{}'.format(msg, success_msg))
        except AssertionError as e:
            do_hanle_excel.write_case(case_id + 1, real_result, fail_msg)
            do_logger.debug('{},用例用例执行失败,结果为:{},失败原因:{}'.format(
                msg, fail_msg, e))
            raise e