def test_updateloginpwd_01(self, datas):
     self.TestCaseName = datas['CaseName']
     logging.info('开始执行用例:{}  |  运行case:{}'.format(self.TestCaseName,
                                                   self._testMethodName))
     logging.info(
         '=======================调用【用户登录】接口===================================='
     )
     LoginSessionID = login_api(self.account, self.password)
     if not LoginSessionID:
         logging.error('登录失败,请检查登录接口是否异常!')
     datas['NewVerifParmsData'].update({"OldPwd": self.password})
     datas['NewVerifParmsData'].update({
         "OkPwd": self.new_password,
         "NewPwd": self.new_password
     })
     print(datas)
     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'
         Config().set_options_value('mod_pwd',
                                    self.new_password,
                                    setions='modify_loginpwd')
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'User',
                                    'ID', datas['ID'], result)
Example #2
0
 def test_addaccount(self, datas):
     self.TestCaseName = datas['CaseName']
     logging.info('开始执行用例:{}  |  运行case:{}'.format(self.TestCaseName,
                                                   self._testMethodName))
     account_name = 'atuotest' + self.r.get_random_info_int(4)
     if '成功' in self.TestCaseName:
         datas['NewVerifParmsData'].update({'AccountName': account_name})
     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'
         logging.info('新增用户({})成功'.format(account_name))
     except InterfaceVerifyError:
         result = 'false'
     finally:
         write_result_data_to_excel(Config().case_data_file_path, 'User',
                                    '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)
Example #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_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)
Example #6
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)
Example #7
0
def add_account():
    account = 'atest1'
    password = '******'
    logging.info('---------调用登录接口--------------------')
    LoginSessionID = login_api(account, password)
    if not LoginSessionID:
        raise ('登录失败,请检查')
    logging.info('---------调用设置资金密码接口-------------')
    actual_result = http_api_requests(
        '密码相关.重置/修改资金密码',
        Headers={'LoginSessionID': LoginSessionID},
        NewVerifParmsData={})
    expected_result = {"Status": True, "Info": "修改成功", "Data": None, "Code": 0}
    check_result(expected_result, actual_result)
Example #8
0
 def test_is_set_withdrawpwd(self,datas):
     self.TestCaseName = datas['CaseName']
     logging.info('开始执行用例: {} ( {} )'.format(datas['CaseName'], self._testMethodName))
     logging.info('=======================调用【用户登录】接口====================================')
     LoginSessionID = login_api(self.account,self.password)
     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,'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)
Example #10
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)
Example #11
0
def get_activity_data_from_api(LoginSessionID=None,ActivityType=None,FActivitySubTypeId=None,return_data=True):
    '''
    return_data: 为False时返回全部信息,Ture返回一条信息
    接口获取活动数据
    # ActivityType 为1的时候-表示红利活动,为2时表示-页面活动(页面活动不可参加),为3时-表示签到活动
    # FActivitySubTypeId  1=注册活动,2=登录活动,3=充值流水活动,4=投注活动,5=红包活动,6=红包雨活动,7=大转盘活动,9=余额宝活动,11=签到活动
    :return:
    '''
    LoginSessionID = login_api(Config().get_ini_value('Global_ini', 'WebUserName'),Config().get_ini_value('Global_ini', 'WebPwd')) if not LoginSessionID else LoginSessionID
    FActivitySubTypeId = 2 if not FActivitySubTypeId else FActivitySubTypeId
    ActivityType = 2 if not ActivityType else ActivityType
    logging.info('=======================调用【获取活动列表】接口====================================')
    activity_result =  http_api_requests('活动相关.获取活动列表', Headers={"LoginSessionID":LoginSessionID},NewVerifParmsData={})
    expected_result = {"Status":True,"Info":"","Code":0}
    check_result(expected_result,activity_result)
    activiy_data = get_json_value(activity_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)
    return_activity_data = []
    for activity in range(len(activiy_info)):
        if activiy_info[activity]['活动大类'] == ActivityType:
            if activiy_info[activity]['活动类型'] == FActivitySubTypeId:
                return_activity_data.append(activiy_info[activity])

    return return_activity_data if not return_data else random.choice(return_activity_data) if return_activity_data else None
Example #12
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)
Example #13
0
def get_credit_gam_bet_data(LoginSessionID=None,
                            game_id=None,
                            return_all_data=False):
    '''
   获取六合彩/信用游戏玩法数据
   :return:
   '''
    Radix = None
    moneyModel = None
    LoginSessionID = login_api(
        Config().test_account,
        Config().test_password) if not LoginSessionID else LoginSessionID
    game_id = Config().test_game_id if not game_id else game_id

    game_info = from_game_id_get_game_info_official(int(game_id))
    # 获取游戏赔率/禁用玩法数据
    logging.info(
        '=======================调用【获取游戏最新开盘期数】接口===================================='
    )
    actual_result = http_api_requests(
        '游戏相关.获取游戏赔率数据',
        Headers={"LoginSessionID": LoginSessionID},
        NewVerifParmsData={"GameID": game_id})
    DisablePlay_list = None
    try:
        DisablePlay = get_json_value(actual_result,
                                     '/Data/DisablePlay')  # 禁用玩法ID
        DisablePlay_item = get_json_value(actual_result,
                                          '/Data/DisablePlayItem')  # 禁用玩法项ID
        DisablePlay_list = []  # 禁用玩法ID list
        for i in DisablePlay:
            if isinstance(i, str) and i:
                DisablePlay_list.append(int(i))
        odds_List = get_json_value(actual_result,
                                   '/Data/OddsList')  # 获取玩法反水/赔率数据
        data = get_json_value(actual_result, '/Data')
        Radix = data['Radix']  # 单注下注金额基数
        moneyModel = data['moneyModel']  # 投注模式
    except Exception as err:
        logging.error(err)
    # 获取游戏玩法项数据
    logging.info(
        '=======================调用【获取游戏玩法数据】接口===================================='
    )
    actual_result = http_api_requests(
        '游戏相关.获取游戏玩法数据',
        Headers={"LoginSessionID": LoginSessionID},
        NewVerifParmsData={"GameID": game_id})
    game_data = get_json_value(actual_result, '/Data')
    game_data_path = Config().game_bet_yaml_path
    with open(game_data_path, 'r', encoding='utf-8') as f:
        game_bet_data = yaml.safe_load(f.read())
    # print(game_data)
    # print(game_bet_data)

    play_id_list = []
    for gamer_play in game_data:
        #print(gamer_play)
        for game_play_child in gamer_play['Child']:
            #print(game_play_child)
            if game_play_child['Id'] in DisablePlay_list:  # 过滤禁用玩法
                continue
            if game_play_child['Name'] == '特码':
                #print(game_play_child)
                for tema_game_play_data in game_play_child['Child']:
                    flag_list = []
                    #print(tema_game_play_data)
                    flag_list.append(tema_game_play_data['Id'])
                    flag_list.append(tema_game_play_data['Name'])
                    flag_list.append(tema_game_play_data['SId'])
                    play_id_list.append(flag_list)

    return play_id_list if return_all_data else random.choice(play_id_list)
Example #14
0
def get_officia_gam_bet_data(LoginSessionID=None,
                             game_id=None,
                             return_all_data=False):
    '''
   获取官方游戏下注数据
   :return:
   '''

    Radix = None
    moneyModel = None
    LoginSessionID = login_api(
        Config().test_account,
        Config().test_password) if not LoginSessionID else LoginSessionID
    game_id = Config().test_game_id if not game_id else game_id
    game_info = from_game_id_get_game_info_official(int(game_id))
    # 获取游戏赔率/禁用玩法数据
    logging.info(
        '=======================调用【获取游戏最新开盘期数】接口===================================='
    )
    actual_result = http_api_requests(
        '游戏相关.获取游戏赔率数据',
        Headers={"LoginSessionID": LoginSessionID},
        NewVerifParmsData={"GameID": game_id})
    try:
        DisablePlay = get_json_value(actual_result,
                                     '/Data/DisablePlay')  # 禁用玩法ID
        DisablePlay_item = get_json_value(actual_result,
                                          '/Data/DisablePlayItem')  # 禁用玩法项ID
        DisablePlay_list = []  # 禁用玩法ID list
        for i in DisablePlay:
            if isinstance(i, str) and i:
                DisablePlay_list.append(int(i))
        odds_List = get_json_value(actual_result,
                                   '/Data/OddsList')  # 获取玩法反水/赔率数据
        data = get_json_value(actual_result, '/Data')
        Radix = data['Radix']  # 单注下注金额基数
        moneyModel = data['moneyModel']  # 投注模式
    except Exception as err:
        logging.error(err)
    # 获取游戏玩法数据
    logging.info(
        '=======================调用【获取游戏玩法数据】接口===================================='
    )
    actual_result = http_api_requests(
        '游戏相关.获取游戏玩法数据',
        Headers={"LoginSessionID": LoginSessionID},
        NewVerifParmsData={"GameID": game_id})
    game_data = get_json_value(actual_result, '/Data')
    game_data_path = Config().game_bet_yaml_path
    with open(game_data_path, 'r', encoding='utf-8') as f:
        game_bet_data = yaml.safe_load(f.read())
        #print(game_bet_data)
    game_bet_list = []
    for data in game_data:
        for data_dict in data['Child']:
            for data_play_dict in data_dict['C']:
                #print(data_play_dict)
                if data_play_dict['Id'] not in DisablePlay_list:  # 过滤禁用玩法
                    print(data_play_dict)
                    for game_data_dict in data_play_dict['Child']:
                        # 此条查看匹配玩法名称
                        #print(game_data_dict)
                        if game_bet_data.__contains__(data_play_dict['Name']):
                            #print(data_play_dict['Name'])
                            game_play_item_name = data_play_dict['Name']
                            flag = ''
                            if '单式' in game_play_item_name:
                                flag = ','
                            elif '复式' in game_play_item_name or '组选' in game_play_item_name or '单双' in game_play_item_name or '定位胆' in game_play_item_name:
                                flag = '|'
                            if isinstance(game_bet_data[game_play_item_name],
                                          int):
                                if '分分彩' or '时时彩' in list(game_info.keys())[0]:
                                    c = r.random_number_list1(
                                        game_bet_data[game_play_item_name],
                                        flag)
                                else:
                                    c = r.random_number_list(
                                        game_bet_data[game_play_item_name],
                                        flag)
                            elif isinstance(game_bet_data[game_play_item_name],
                                            dict):
                                # 获取字典value判断类型
                                if isinstance(
                                        list(
                                            game_bet_data[game_play_item_name].
                                            values())[0], list):
                                    # 获取字典的key值,传入key和value获取玩法排列组合项
                                    play_value_item = list(
                                        game_bet_data[game_play_item_name].
                                        keys())[0]
                                    data = get_new_sort_data(
                                        play_value_item,
                                        list(
                                            game_bet_data[game_play_item_name].
                                            values())[0])
                                    c = flag.join(data)
                            i = game_data_dict['Id']  # 玩法项ID
                            k = 0
                            t = int(Config().bet_num)
                            n = int(Config().bet_note)
                            moneyModel_list = []
                            for j in moneyModel:
                                if isinstance(j, str) and j and j != ',':
                                    moneyModel_list.append(int(j))
                            m = moneyModel_list[0]
                            a = None
                            if m == 1:
                                a = Radix * n * t
                            elif m == 2:
                                a = Radix * n * t / 10
                            elif m == 3:
                                a = Radix * n * t / 100
                            elif m == 4:
                                a = Radix * n * t / 1000
                            else:
                                logging.debug('投注模式有误,请检查')
                            game_bet_list.append([{
                                "i": i,
                                "c": c,
                                "n": n,
                                "t": t,
                                "k": k,
                                "m": m,
                                "a": a,
                                "ts": 15
                            }])

    return game_bet_list if return_all_data else random.choice(game_bet_list)
    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))