class Api_Finance_GetAuditData(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self) -> None: pass
class Api_Finance_UpEncashmentApply(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_AG_User_Login(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['User'], run_rules_dic, 'User') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'AgUserName') self.password = Config().get_ini_value('Global_ini', 'AgPwd') @data(*datas) 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 tearDown(self) -> None: pass
class Api_Activiy_AddActity(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Activity'], run_rules_dic, 'Activity') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self) -> None: pass
class Ag_Api_User_AddAccount(unittest.TestCase): r = RandomUtil() run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['User'], run_rules_dic, 'User') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'AgUserName') self.password = Config().get_ini_value('Global_ini', 'AgPwd') self.account_name = 'AGatuotest' + self.r.get_random_info_int(4) @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Finance_GetPaymentProvider(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Finance_GetEncashment(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self) -> None: pass
class Api_Finance_CheckIsFirstRecharge(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Finance_Paymentindex(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Activity_GetActivityList(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Activity'], run_rules_dic, 'Activity') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Game_GetCPYXGameList(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') def setUp(self) : logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) @data(*datas) 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 tearDown(self) : pass
class Api_Activity_GetActivityList(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Activity'], run_rules_dic, 'Activity') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self) -> None: pass
class Api_TestWeb_AddAccount(unittest.TestCase): r = RandomUtil() run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Test_Web'], run_rules_dic, 'Test_Web') def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self): pass
class Api_Finance_GetPreferenceNewConfig(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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')) def tearDown(self) -> None: pass
class Api_Web_User_Login(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Test_Web'], run_rules_dic, 'Test_Web') def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self): pass
class Api_Game_OfficialAddOrders(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') #print(datas) def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') # 数据库获取用户ID #self.user_id = from_db_get_user_ID(self.account)[0]['id'] # 数据库获取用户余额 #self.user_blance = from_db_TCredits_get_user_FBalance(self.user_id)[0]['Balance'] @data(*datas) 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) def tearDown(self): pass
class Api_Game_GetGameOddsData_01(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self): pass
class Api_Game_GetNewPeriod_Case_01(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') def setUp(self) : logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini','WebUserName') self.password = Config().get_ini_value('Global_ini','WebPwd') @data(*datas) 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) def tearDown(self): pass
class Api_Finance_GoPay(unittest.TestCase): r = RandomUtil() run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Finance'], run_rules_dic, 'Finance') def setUp(self) -> None: logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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) def tearDown(self) -> None: pass
class Api_Game_OfficialAddOrders(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') # 数据库获取用户ID # self.user_id = from_db_get_user_ID(self.account)[0]['id'] # 数据库获取用户余额 # self.user_blance = from_db_TCredits_get_user_FBalance(self.user_id)[0]['Balance'] @data(*datas) 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)) def tearDown(self): pass
class Api_Game_GetCPYXGameList(unittest.TestCase): run_rules_dic = Config().get_run_rules_config() run_rules_dic.update({'ScriptName': os.path.basename(__file__)}) datas = get_case_from_excel(Config().case_data_file_path, ['Game'], run_rules_dic, 'Game') def setUp(self): logging.info('启动脚本文件 : {}'.format(os.path.basename(__file__))) self.account = Config().get_ini_value('Global_ini', 'WebUserName') self.password = Config().get_ini_value('Global_ini', 'WebPwd') @data(*datas) 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 tearDown(self): pass