def test_Finance_GetPreferenceNewConfig(self,datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc, self._testMethodName))
     logging.info('=======================调用【用户登录】接口====================================')
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     self.type = 0 if datas['NewVerifParmsData']['Type'] == 1 else 1 # 根据测试数据type类型来决定获取通道的类型 测试数据type-1为线下/2为线上 -paytype获取通道时0为线下/1为线上
     payment_info = get_finance_paymentindex(LoginSessionID=self.LoginSessionID, paytype=self.type)
     logging.info('获取通道ID:{},获取通道名称:{}'.format(payment_info['ID'], payment_info['PayType']))
     # 返回单个可用商户字典信息
     payment_data = payment_PreferenceNewConfig(LoginSessionID=self.LoginSessionID,id=payment_info['ID'],isonline=payment_info['Type'],return_data=True)
     # 可用支付商字段信息 ID 通道ID/MaxAmount 最大存款金额/MinAmount  	最小存款金额/IsCharge 是否需要手续费/Charge 手续费比例/IsDepositAddRandom 是否充值时增加随机金额(0.00-0.08) /
     # WayType 通道类型。0、全部通道;1、扫码支付;2、客户端支付/FIsShowShortcut 是否显示金额快捷方式/FShortcutSet 金额快捷设置/OrderNumber 当前交易的订单号/Number 附言码
     logging.info('=======================调用【获取支付商优惠设置】接口====================================')
     datas['NewVerifParmsData'].update({"CashConfigId":payment_data['ID'],"_":get_time_stamp()})
     self.actual_result = http_api_requests('充值提现.获取支付商优惠设置', Headers={"LoginSessionID": self.LoginSessionID},
                                            NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance', 'ID', datas['ID'], result)
     print(get_json_value(self.actual_result,'/Data'))
Пример #2
0
 def test_get_activitylist(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info(
         '=======================调用【查询用户已参加活动】接口===================================='
     )
     start_time, en_time = get_nowday_and_yestday()
     datas['NewVerifParmsData'].update({"StartTime": en_time})
     datas['NewVerifParmsData'].update({"EndTime": start_time})
     self.actual_result = http_api_requests(
         '活动相关.查询用户已参加活动',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path,
                                    'Activity', 'ID', datas['ID'], result)
Пример #3
0
    def test_unit_001(self,datas):
        self.testcasename = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'], self._testMethodName))
        logging.info('=======================调用【获取首页游戏列表接口】接口====================================')
        self.actual_result = http_api_requests('游戏相关.获取首页游戏列表',NewVerifParmsData=datas['NewVerifParmsData'])
        print(self.actual_result)
        self.expected_result = datas['ExpectResult']
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
            data = get_json_value(self.actual_result,'/Data/GameData')
            game_id_list = []
            for game_data in data:
                # print(game_data)
                for game_list in game_data['GameCateList']:
                    if game_list['FCategoryName'] not in ['真人视讯','VR彩','体育竞技','电子游戏','棋牌']:
                        # 过滤掉信用游戏
                        if game_list['FGroupID'] ==0:
                            FCategoryName = game_list['FCategoryName']
                            for game_info in game_list['GameInfoList']:
                                game_dic = {}
                                #print(FCategoryName,game_info)
                                game_dic.update({FCategoryName:{game_info['FGameName']:game_info['FGameID']}})
                                game_id_list.append(game_dic)
            print(game_id_list)
            for game in game_id_list:
                if list(list(game.values())[0].values())[0] == 57:
                    print(game)
            # [{'秒秒彩': {511: '深圳秒秒彩'}}, {'秒秒彩': {363: '豪彩重庆刮刮乐'}}, {'秒秒彩': {396: '快三刮刮乐'}}, {'时时彩': {26: '重庆时时彩'}}, {'时时彩': {40: '新疆时时彩'}}, {'时时彩': {57: '北京时时彩'}}, {'时时彩': {222: '三方重庆时时彩'}}, {'时时彩': {507: '重疆时时彩'}}, {'时时彩': {567: '三方时时彩'}}, {'时时彩': {612: '幸运时时彩'}}, {'分分彩': {51: '韩式1.5分彩'}}, {'分分彩': {81: '腾讯分分彩'}}, {'分分彩': {86: '东京1.5分彩'}}, {'分分彩': {125: '极速分分彩'}}, {'分分彩': {180: '豪彩韩式1.5分彩'}}, {'分分彩': {182: '东京1.5分彩'}}, {'分分彩': {442: '豪彩1.5分11选5彩'}}, {'快三': {39: '江苏快三'}}, {'快三': {95: '安徽快3'}}, {'快三': {97: '河北快3'}}, {'快三': {103: '甘肃快3'}}, {'快三': {109: '湖北快3'}}, {'快三': {115: '广西快3'}}, {'快三': {198: '5分快三'}}, {'快三': {509: '奖期快三'}}, {'快三': {512: '测试复制江苏快三'}}, {'快三': {584: 'pland五分快三'}}, {'快三': {310: '豪彩 LX3分快三'}}, {'低频彩': {44: '排列三、五'}}, {'低频彩': {30: '福彩3D'}}, {'低频彩': {85: '上海时时乐'}}, {'低频彩': {566: '三方福彩3D'}}, {'11选5': {32: '山东11选5'}}, {'11选5': {45: '广东11选5'}}, {'11选5': {46: '江西11选5'}}, {'11选5': {50: '黑龙江11选5'}}, {'11选5': {74: '江苏11选5'}}, {'11选5': {320: 'LX1分11选5'}}, {'PC蛋蛋': {116: '幸运28'}}, {'PC蛋蛋': {119: '东京28'}}, {'PC蛋蛋': {121: '韩式28'}}, {'PC蛋蛋': {285: 'PC蛋蛋(自)'}}, {'PC蛋蛋': {371: '新斯洛伐克28期数模板'}}, {'PC蛋蛋': {4: '广东11选5'}}, {'极速彩': {166: '测试1.5分彩'}}, {'极速彩': {222: '三方重庆时时彩'}}, {'极速彩': {237: '自研重庆'}}, {'极速彩': {284: '自研福彩3D'}}, {'PK拾': {231: '豪彩11选5'}}, {'PK拾': {29: '北京PK拾'}}, {'PK拾': {93: '幸运飞艇'}}, {'PK拾': {195: '5分pk拾'}}, {'PK拾': {202: '极速幸运飞艇1分彩'}}, {'PK拾': {204: '极速幸运飞艇2分彩'}}, {'PK拾': {206: '极速幸运飞艇3.5分彩'}}, {'PK拾': {476: '极速赛车'}}, {'PK拾': {190: '豪彩1分PK拾'}}, {'PK拾': {333: 'LX1分PK拾再名1'}}, {'PK拾': {334: '豪彩LX1.5分PK拾'}}, {'快乐彩': {63: '韩国快乐8'}}, {'快乐彩': {279: '自研快乐8'}}, {'快乐彩': {28: '北京快乐8'}}, {'快乐彩': {565: '三方官方快乐8'}}]

        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game', 'ID', datas['ID'], result)
 def test_Finance_CheckAmount(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info(
         '=======================调用【检测充值金额】接口===================================='
     )
     self.actual_result = http_api_requests(
         '充值提现.检测充值金额',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                    'ID', datas['ID'], result)
Пример #5
0
 def test_get_activitylist(self,datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc, self._testMethodName))
     logging.info('=======================调用【用户登录】接口====================================')
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info('=======================调用【获取活动列表】接口====================================')
     self.actual_result = http_api_requests('活动相关.查询是否有活动', Headers={"LoginSessionID": self.LoginSessionID},NewVerifParmsData={})
     self.expected_result = datas['ExpectResult']
     activiy_info = []
     for activiy_data in get_json_value(self.actual_result,'/Data'):
         activiy_dict = {}
         if activiy_data['HasActivity']:
             if activiy_data['Type'] == 5:
                 activiy_dict.update({'红包活动ID':activiy_data['ActivityId']})
             elif activiy_data['Type'] == 6:
                 activiy_dict.update({'红包雨活动ID': activiy_data['ActivityId']})
             else:
                 activiy_dict.update({'大转盘活动ID': activiy_data['ActivityId']})
         activiy_info.append(activiy_dict)
     print(activiy_info)
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Activity', 'ID', datas['ID'], result)
    def test_unit_001(self, datas):
        self.testcasename = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'],
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        LoginSessionID = login_api(self.account, self.password)
        if not LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')
        logging.info(
            '=======================调用【获取游戏玩法数据】接口===================================='
        )
        self.actual_result = http_api_requests(
            '游戏相关.获取游戏玩法数据',
            Headers={"LoginSessionID": LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        self.play_data = get_json_value(self.actual_result, '/Data')
        print(self.play_data)
        play_list = []
        guolv = [
            4269, 4268, 4267, 4266, 4265, 4264, 4263, 4262, 4261, 4260, 4259,
            4258, 4257
        ]
        for data in self.play_data:
            #print(data)
            play_name = data['Name']
            play_id = data['Id']
            for data_dict in data['Child']:
                #print(data_dict)
                for data_play_dict in data_dict['C']:
                    if data_play_dict['Id'] not in guolv:  # 过滤禁用玩法
                        #print(data_play_dict)
                        for dats2 in data_play_dict['Child']:
                            dic = {}
                            #print(dats2)
                            #print(dats2['Name'], dats2['FId'])
                            dic.update({
                                "{} {}".format(play_name, play_id): {
                                    dats2['Name']: dats2['FId']
                                }
                            })
                            play_list.append(dic)
                            print(dats2)
        #print(play_list)


# [4269, 4268, 4267, 4266, 4265, 4264, 4263, 4262, 4261, 4260, 4259, 4258, 4257]
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game',
                                       'ID', datas['ID'], result)
    def test_Game_OfficialAddOrders(self, datas):
        self._testMethodDoc = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        self.LoginSessionID = login_api(self.account, self.password)
        if not self.LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')

        logging.info(
            '=======================调用【官方游戏下注】接口===================================='
        )
        while True:
            # 获取游戏ID
            #self.game_id = get_official_game_id()[1]
            #self.game_name = get_official_game_id()[0]
            self.game_id = 612
            datas['NewVerifParmsData'].update({'GameId': self.game_id})
            #logging.info('成功获取游戏:{}:游戏ID:{}'.format(self.game_name,self.game_id))
            #print(datas)
            # 获取期数ID
            self.period_info = get_game_period_info(self.LoginSessionID,
                                                    {"GameID": self.game_id})
            if not self.period_info:
                logging.error('获取期数ID失败')
                #raise ('获取期数ID失败,请检查!')
            datas['NewVerifParmsData'].update({"PeriodId": self.period_info})
            # 获取官方游戏赔率/玩法项数据
            game_data = get_officia_gam_bet_data(self.LoginSessionID,
                                                 self.game_id)
            if game_data:
                break
        OrderList = '[{\"a\":%s,\"c\":\"%s\",\"i\":%s,\"k\":\"%s\",\"m\":%s,\"n\":%s,\"t\":%s,\"ts\":%s}]' % (
            game_data[0]['a'], game_data[0]['c'], game_data[0]['i'],
            game_data[0]['k'], game_data[0]['m'], game_data[0]['n'],
            game_data[0]['t'], get_time_stamp())
        datas['NewVerifParmsData'].update({"OrderList": OrderList})

        #print(datas['NewVerifParmsData'])
        self.actual_result = http_api_requests(
            '游戏相关.官方游戏下注',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        result = None
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game',
                                       'ID', datas['ID'], result)
Пример #8
0
    def test_get_activitylist(self, datas):
        self._testMethodDoc = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        self.LoginSessionID = login_api(self.account, self.password)
        if not self.LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')
        logging.info(
            '=======================调用【获取活动列表】接口===================================='
        )
        self.actual_result = http_api_requests(
            '活动相关.获取活动列表',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData={})
        self.expected_result = datas['ExpectResult']
        activiy_data = get_json_value(self.actual_result, '/Data')
        activiy_info = []
        for game_data in activiy_data:
            activiy_list = {}
            if game_data['BalanceActivityDetails']:
                for game_dict_data in game_data[
                        'BalanceActivityDetails']:  # 余额宝活动数据
                    activiy_dict = {}
                    activiy_dict.update({"活动ID": game_data['FId']})
                    activiy_dict.update({"活动名称": game_data['FName']})
                    activiy_dict.update({"余额宝方案ID": game_dict_data['FId']})
                    activiy_dict.update({"余额宝方案名称": game_dict_data['FName']})
                    activiy_dict.update({"活动大类": game_data['ActivityType']})
                    activiy_dict.update(
                        {"活动类型": game_data['FActivitySubTypeId']})
                    activiy_info.append(activiy_dict)

            else:
                activiy_list.update({"活动ID": game_data['FId']})
                activiy_list.update({"活动名称": game_data['FName']})
                activiy_list.update({"活动大类": game_data['ActivityType']})
                activiy_list.update({"活动类型": game_data['FActivitySubTypeId']})
                activiy_info.append(activiy_list)

        print(activiy_info)

        result = None
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path,
                                       'Activity', 'ID', datas['ID'], result)
Пример #9
0
    def test_get_gameperiod(self,datas):
        self.testcasename = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'], self._testMethodName))
        logging.info('=======================调用【用户登录】接口====================================')
        LoginSessionID = login_api(self.account, self.password)
        if not LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')
        logging.info('=======================调用【获取游戏最新开盘期数】接口====================================')
        self.actual_result = http_api_requests('游戏相关.获取游戏最新开盘期数', Headers={"LoginSessionID": LoginSessionID},NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        try:
            #print(type(self.actual_result))
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
            json_data = get_json_value(self.actual_result,'/Data')
            json_period_data = json.loads(json_data, encoding='utf-8')

            print(json_period_data)
            # 本期期数
            current_period = json_period_data['fnumberofperiod']
            print(current_period)
            # 本期开盘时间
            start_time = json_period_data['fstarttime']
            print(start_time)
            # 本期封盘时间
            #end_time = json_period_data['fclosetime']
            # 期数状态 (0未开盘,1开盘中,2已封盘,3已开奖,4、已结算,5、返还金额)
            period_status = json_period_data['fstatus']
            print(period_status)
            # 游戏是否停售 :false代表开售中,true代表停售中
            is_off_stop = json_period_data['fisstopseles']
            print(is_off_stop)
            # 期数ID
            fid = json_period_data['fid']
            print(fid)
            # print('本期期数:', current_period)
            # print('本期开盘时间:', start_time)
            # print('本期封盘时间:', end_time)
            # print('期数状态:', period_status)
            # print('游戏是否停售:', is_off_stop)
            # print('期数ID:', fid)
            # 六合彩特殊字段
            # 六合封盘时间
            liuhe_end_time = json_period_data['fspecialcodeclosetime']
            print(liuhe_end_time)


        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game', 'ID', datas['ID'], result)
Пример #10
0
 def test_AG_uesr_login(self,datas):
     self._testMethodDoc = datas['CaseName']
     datas['NewVerifParmsData'].update({"username":self.account})
     datas['NewVerifParmsData'].update({"password":md5_encryption(md5_encryption(self.password))})
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc, self._testMethodName))
     logging.info('=======================调用【后台用户登录】接口====================================')
     self.actual_result = http_api_requests('后台相关.用户登录',return_result=True,server_host=Config().ag_host,NewVerifParmsData=datas['NewVerifParmsData'])
     time.sleep(1)
     self.expected_result = datas['ExpectResult']
     if self.expected_result in self.actual_result:
         result = 'pass'
     else:
         result = 'false'
     write_result_data_to_excel(Config().case_data_file_path, 'User', 'ID', datas['ID'], result)
    def test_get_game_odddata(self, datas):
        self.testcasename = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'],
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        LoginSessionID = login_api(self.account, self.password)
        if not LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')
        logging.info(
            '=======================调用【获取游戏最新开盘期数】接口===================================='
        )
        self.actual_result = http_api_requests(
            '游戏相关.获取游戏赔率数据',
            Headers={"LoginSessionID": LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        try:

            check_result(self.expected_result, self.actual_result)
            result = 'pass'
            DisablePlay = get_json_value(self.actual_result,
                                         '/Data/DisablePlay')
            print(DisablePlay)
            DisablePlay_item = get_json_value(self.actual_result,
                                              '/Data/DisablePlayItem')
            print('111')
            print(DisablePlay_item)
            list = []
            for i in DisablePlay:
                if isinstance(i, str):
                    list.append(int(i))
            logging.info('该游戏被禁用玩法项:{}'.format(list))
            odd_list = get_json_value(self.actual_result, '/Data/OddsList')
            print(odd_list)
            self.odd_data = get_json_value(self.actual_result, '/Data')
            # 单注下注金额基数
            Radix = self.odd_data['Radix']
            # 投注模式
            moneyModel = self.odd_data['moneyModel']
            logging.info('单注下注金额基数:{},投注模式:{}'.format(Radix, moneyModel))

        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game',
                                       'ID', datas['ID'], result)
Пример #12
0
 def test_GetAuditData(self,datas):
     self.testcasename = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'], self._testMethodName))
     logging.info('=======================调用【用户登录】接口====================================')
     LoginSessionID = login_api(self.account, self.password)
     if not LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info('=======================调用【获取出款稽核数据】接口====================================')
     self.actual_result = http_api_requests('充值提现.获取出款稽核数据', Headers={"LoginSessionID": LoginSessionID},
                                            NewVerifParmsData={})
     self.expected_result = datas['ExpectResult']
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance', 'ID', datas['ID'], result)
 def test_get_activitylist(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info(
         '=======================调用【后台添加活动接口】接口===================================='
     )
     activity_name = Ag_AddActity_from_api()
     if not activity_name:
         logging.error('活动名称获取失败!')
         raise
     activity_data = get_activity_data_from_api(
         LoginSessionID=self.LoginSessionID,
         ActivityType=1,
         FActivitySubTypeId=None,
         return_data=False)
     activity_id = []
     for activity in activity_data:
         if activity['活动名称'] == activity_name:
             activity_id.append(activity['活动ID'])
     logging.info(
         '=======================调用【参加活动】接口===================================='
     )
     datas['NewVerifParmsData'].update({"ActityID": activity_id[0]})
     self.actual_result = http_api_requests(
         '活动相关.参加活动',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path,
                                    'Activity', 'ID', datas['ID'], result)
 def test_paymentindex(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     payment_id = get_finance_paymentindex(
         LoginSessionID=self.LoginSessionID, paytype=1)
     logging.info('获取通道ID:{},获取通道名称:{}'.format(payment_id['ID'],
                                               payment_id['PayType']))
     logging.info(
         '=======================调用【获取可用支付通道】接口===================================='
     )
     datas['NewVerifParmsData'].update({"id": payment_id['ID']})
     datas['NewVerifParmsData'].update({"isonline": payment_id['Type']})
     self.actual_result = http_api_requests(
         '充值提现.获取可用支付通道',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                    'ID', datas['ID'], result)
     pay_data = get_json_value(self.actual_result, '/Data')
     temp = '/OnlinePayment' if payment_id['Type'] else '/OfflinePayment'
     pay_data_ = get_json_value(pay_data, '{}'.format(temp))
     payment_info = []
     for payment_ in pay_data_:
         payment_.update({'OrderNumber': pay_data['OrderNumber']})
         payment_.update({'Number': pay_data['Number']})
         payment_info.append(payment_)
     print(payment_info)
Пример #15
0
 def test_UpEncashmentApply(self,datas):
     self.testcasename = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'], self._testMethodName))
     logging.info('=======================调用【用户登录】接口====================================')
     LoginSessionID = login_api(self.account, self.password)
     if not LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     withdrawI_data,charg_data,bank_id = get_GetEncashment_data(LoginSessionID)
     datas['NewVerifParmsData'].update({"Amount":withdrawI_data,"CardID":bank_id,"Password":md5_encryption(Config().get_ini_value('Global_ini', 'amount_pwd'))})
     logging.info('=======================调用【前台出款申请】接口====================================')
     self.actual_result = http_api_requests('充值提现.前台出款申请', Headers={"LoginSessionID": LoginSessionID},
                                            NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance', 'ID', datas['ID'], result)
Пример #16
0
 def test_web_user_login_01(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info('======================调用:用户登录接口=======================')
     self.actual_result = http_api_requests(
         '前台相关.用户登录',
         NewVerifParmsData={
             "username": self.account,
             "password": md5_encryption(md5_encryption(self.password))
         })
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path,
                                    'Test_Web', 'ID', datas['ID'], result)
Пример #17
0
 def test_AG_uesr_login(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【后台用户登录】接口===================================='
     )
     LoginSessionID = ag_login_api(self.account, self.password)
     if not LoginSessionID:
         logging.error('后台登录失败,请检查!')
         raise
     logging.info(
         '=======================调用【后台添加账户】接口===================================='
     )
     datas['NewVerifParmsData'].update({"password": self.password})
     datas['NewVerifParmsData'].update({"accountName": self.account_name})
     datas['NewVerifParmsData'].update({
         "jsonlist":
         '[{"Key":"AccountRemark","Title":"用户备注","Value":""}]'
     })
     datas['NewVerifParmsData'].update({
         "UserKickbacks":
         '[{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09},{"FKickback":0.09}]'
     })
     self.actual_result = http_api_requests(
         '后台相关.添加账户',
         Headers={"LoginSessionID": LoginSessionID},
         server_host=Config().ag_host,
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
         logging.info('新增用户({})成功'.format(self.account_name))
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'User',
                                    'ID', datas['ID'], result)
Пример #18
0
 def test_GetEncashment(self, datas):
     self.testcasename = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'],
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     LoginSessionID = login_api(self.account, self.password)
     if not LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info(
         '=======================调用【获取提现基础数据】接口===================================='
     )
     self.actual_result = http_api_requests(
         '充值提现.获取提现基础数据',
         Headers={"LoginSessionID": LoginSessionID},
         NewVerifParmsData={})
     self.expected_result = datas['ExpectResult']
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                    'ID', datas['ID'], result)
     # 获取基础出款数据
     WithdrawI_data = get_json_value(self.actual_result, '/Data')
     print(WithdrawI_data['EncashmentMax'])
     # 获取手续费数据
     Charge_data = get_json_value(self.actual_result, '/Data/ChargeModel')
     # 获取银行卡ID
     BankList = get_json_value(self.actual_result, '/Data/BankList')
     bank_card_id = []
     for bank_data in BankList:
         bank_card_id.append(bank_data['FID'])
     print(bank_card_id)
 def test_checkisfirstrecharge(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     payment_info = get_finance_paymentindex(
         LoginSessionID=self.LoginSessionID, paytype=1)
     logging.info('获取通道ID:{},获取通道名称:{}'.format(payment_info['ID'],
                                               payment_info['PayType']))
     logging.info(
         '=======================调用【检查通道是否首次充值】接口===================================='
     )
     datas['NewVerifParmsData'].update({
         "id": payment_info['ID'],
         "isonline": payment_info['Type'],
         "_": get_time_stamp(level=1)
     })
     self.actual_result = http_api_requests(
         '充值提现.检查通道是否首次充值',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData=datas['NewVerifParmsData'])
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                    'ID', datas['ID'], result)
Пример #20
0
    def test_web_addaccount(self, datas):
        self._testMethodDoc = datas['CaseName']
        account = 'atuotest' + self.r.get_random_info_int(4)
        datas['NewVerifParmsData'].update({'accountName': account})
        logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                                self._testMethodName))
        logging.info('======================调用:用户登录接口=======================')
        LoginSessionID = login(self.account, self.password)
        logging.info('======================调用:代理注册接口=======================')
        self.actual_result = http_api_requests(
            '前台相关.代理注册',
            Headers={"LoginSessionID": LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']

        result = None
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path,
                                       'Test_Web', 'ID', datas['ID'], result)
 def test_paymentindex(self, datas):
     self._testMethodDoc = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                             self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     self.LoginSessionID = login_api(self.account, self.password)
     if not self.LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     logging.info(
         '=======================调用【充值导航-可用通道】接口===================================='
     )
     self.actual_result = http_api_requests(
         '充值提现.充值导航',
         Headers={"LoginSessionID": self.LoginSessionID},
         NewVerifParmsData={})
     self.expected_result = datas['ExpectResult']
     result = None
     try:
         check_result(self.expected_result, self.actual_result)
         result = 'pass'
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                    'ID', datas['ID'], result)
     paymentIndex = get_json_value(self.actual_result, '/Data/PaymentList')
     payment_info = []
     for payment in paymentIndex:
         #print(payment['PayType'])
         payment_dict = {}
         payment_dict.update({'ID': payment['ID']})
         payment_dict.update({'PayType': payment['PayType']})
         payment_info.append(payment_dict)
     print(payment_info)
Пример #22
0
    def test_Game_OfficialAddOrders(self, datas):
        self._testMethodDoc = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        self.LoginSessionID = login_api(self.account, self.password)
        if not self.LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')

        logging.info(
            '=======================调用【官方游戏下注】接口===================================='
        )
        data = None
        # 获取游戏ID
        # self.game_id = get_official_game_id()[1]
        # self.game_name = get_official_game_id()[0]
        self.game_id = 578
        datas['NewVerifParmsData'].update({'GameId': self.game_id})
        # logging.info('成功获取游戏:{}:游戏ID:{}'.format(self.game_name,self.game_id))
        # print(datas)
        # 获取期数ID
        while 1:
            self.period_info = get_game_period_info(self.LoginSessionID,
                                                    {"GameID": self.game_id},
                                                    istemp=False)
            if not self.period_info:
                logging.error('获取期数ID失败')
                continue
            # 期数判断
            period_num = Config().game_per_info
            if not period_num:
                pass
            else:
                if self.period_info == period_num:
                    logging.info('期数在同一期,跳过此次下注!')
                    continue
            datas['NewVerifParmsData'].update({"periodID": self.period_info})
            # 获取官方游戏赔率/玩法项数据
            data = get_credit_gam_bet_data(self.LoginSessionID,
                                           self.game_id,
                                           return_all_data=True)
            if not data:
                logging.info('获取游戏玩法项数据失败,跳过此次下注!')
                continue
            else:
                logging.info('游戏数据拿到,开始下注!')
                break
        orderlist = []
        orderlist1 = []
        gamelist = []
        for game_data in data:
            orderdata = {
                "amount": 301,
                "goal": str(game_data[0]),
                "id": game_data[0],
                "name": game_data[1],
                "odds": 43.61,
                "odds1": -1.0,
                "parentName": "特码",
                "sId": game_data[2],
                "timestamp": get_time_stamp()
            }
            gamelist.append(orderdata)
        for i in range(0, 48):
            orderlist.append(gamelist[i])

        datas['NewVerifParmsData'].update({"orderlist": orderlist})
        self.actual_result = http_api_requests(
            '游戏相关.六合彩下注',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        for i in range(48, 49):
            orderlist1.append(gamelist[i])
        orderlist1[0].update({"amount": 300})
        orderlist1[0].update({"odds": 48.755})
        datas['NewVerifParmsData'].update({"orderlist": orderlist1})
        datas['NewVerifParmsData'].update({"selectBack": 9.0})

        time.sleep(3)
        self.actual_result = http_api_requests(
            '游戏相关.六合彩下注',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        self.expected_result = datas['ExpectResult']
        result = None
        try:
            check_result(self.expected_result, self.actual_result)
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Game',
                                       'ID', datas['ID'], result)
            if self.period_info:
                Config().set_game_period_info_options_value(
                    'game_period_info', str(self.period_info))
Пример #23
0
    def test_Finance_GoPay(self, datas):
        self._testMethodDoc = datas['CaseName']
        logging.info('开始执行用例: {} ( {} )'.format(self._testMethodDoc,
                                                self._testMethodName))
        logging.info(
            '=======================调用【用户登录】接口===================================='
        )
        self.LoginSessionID = login_api(self.account, self.password)
        if not self.LoginSessionID:
            logging.error('登录失败,请检查登录接口是否异常!')
        # 获取导航通道-线上
        payment_info = get_finance_paymentindex(
            LoginSessionID=self.LoginSessionID, paytype=1)
        logging.info('获取通道ID:{},获取通道名称:{}'.format(payment_info['ID'],
                                                  payment_info['PayType']))
        # 获取导航通道下可用商户字典信息
        payment_data = payment_PreferenceNewConfig(
            LoginSessionID=self.LoginSessionID,
            id=payment_info['ID'],
            isonline=payment_info['Type'],
            return_data=True)
        print('获取商户字典信息' + '\n', json.dumps(payment_data, indent=4))
        # 获取通道优惠设置
        preferenceNewConfig = get_payment_PreferenceNewConfig(
            LoginSessionID=self.LoginSessionID,
            Type=2,
            CashConfigId=payment_data['ID'])
        print('获取商户优惠配置信息' + '\n', json.dumps(preferenceNewConfig, indent=4))
        # 线上充值
        # 金额判断
        Amount = self.r.get_random_int(
            payment_data['MinAmount'], payment_data['MaxAmount']
        ) if not payment_data['FIsShowShortcut'] else int(
            random.choice(payment_data['FShortcutSet'].split(',')))
        logging.info(
            '=======================调用【线上充值】接口===================================='
        )
        datas['NewVerifParmsData'].update({
            "LoginSessionID": self.LoginSessionID,
            "paymentId": payment_data['ID'],
            "amount": Amount,
            "wayType": payment_data['WayType']
        })
        self.actual_result = http_api_requests(
            '充值提现.线上充值',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData=datas['NewVerifParmsData'])
        # 手续费判断
        IsCharge = payment_data['IsCharge']
        if IsCharge:
            Charge = Amount * payment_data['Charge']
        else:
            Charge = 0
        # 优惠判断
        preference_amount = 0
        if preferenceNewConfig['RechargePrivilege'] == 1:
            if preferenceNewConfig['IsFirst']:
                if Amount < preferenceNewConfig['PreferenceLine']:
                    preference_amount = 0
                else:
                    preference_amount = Amount * preferenceNewConfig[
                        'PreferencePercent'] / 100
                    if preference_amount >= preferenceNewConfig[
                            'PreferenceMax'] and preferenceNewConfig[
                                'PreferenceMax'] != 0.0:
                        preference_amount = preferenceNewConfig[
                            'PreferenceMax']
            else:
                preference_amount = 0
        elif preferenceNewConfig['RechargePrivilege'] == 2:
            if Amount >= preferenceNewConfig['PreferenceLine']:
                preference_amount = Amount * preferenceNewConfig[
                    'PreferencePercent'] / 100
                if preference_amount >= preferenceNewConfig[
                        'PreferenceMax'] and preferenceNewConfig[
                            'PreferenceMax'] != 0.0:
                    preference_amount = preferenceNewConfig['PreferenceMax']
        elif preferenceNewConfig['RechargePrivilege'] == 3:
            if preferenceNewConfig['IsFirst']:
                if Amount >= preferenceNewConfig['PreferenceLine']:
                    preference_amount = Amount * preferenceNewConfig[
                        'PreferencePercent'] / 100
                    if preference_amount >= preferenceNewConfig[
                            'PreferenceMax'] and preferenceNewConfig[
                                'PreferenceMax'] != 0.0:
                        preference_amount = preferenceNewConfig[
                            'PreferenceMax']
        elif preferenceNewConfig['RechargePrivilege'] == 4:
            if Amount >= preferenceNewConfig['PreferenceLine']:
                preference_amount = Amount * preferenceNewConfig[
                    'PreferencePercent'] / 100
                if preference_amount >= preferenceNewConfig[
                        'PreferenceMax'] and preferenceNewConfig[
                            'PreferenceMax'] != 0.0:
                    preference_amount = preferenceNewConfig['PreferenceMax']
        else:
            raise ('优惠数据返回有误,请检查接口数据')

        # 充值记录检查
        end_time, start_time = get_nowday_and_yestday()
        self.actual_result = http_api_requests(
            '充值提现.充值记录',
            Headers={"LoginSessionID": self.LoginSessionID},
            NewVerifParmsData={
                "EndTime": end_time,
                "StartTime": start_time,
                "OrderNum": payment_data['OrderNumber']
            })
        self.actual_result = get_json_value(self.actual_result,
                                            '/Data/ChargeRecordList')
        datas['ExpectResult'].update({
            "SerialNumber":
            str(payment_data['OrderNumber']),
            "ActualAmount":
            float(Amount + preference_amount - Charge)
        })
        self.expected_result = datas['ExpectResult']
        logging.error(
            '充值成功:充值原始金额:{},存款优惠:{},入款手续费:{},实际充值金额:{},充值订单号:{}'.format(
                Amount, preference_amount, Charge,
                Amount + preference_amount - Charge,
                payment_data['OrderNumber']))

        # 写入结果
        result = None
        try:
            check_result(self.expected_result, self.actual_result[0])
            result = 'pass'
        except InterfaceVerifyError:
            result = 'false'
        finally:
            write_result_data_to_excel(Config().case_data_file_path, 'Finance',
                                       'ID', datas['ID'], result)