class C70447_No_Appear(TestCase): ''' 进入房间内准备15分钟后未开始游戏,查看显示 ''' owner = "ShelleyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 23 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() capabilities = {} capabilities['newCommandTimeout'] = 16 * 60 self.start_step("初始化driver") self.luadriver = self.common.setupdriver(capabilities) # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.start_step("进入约牌页面") self.hall_page.wait_element("约牌").click() self.start_step("创建免费记分房") self.yuepai_page.wait_element('记分房', 20).click() self.start_step("获取左边游戏列表") elements = self.yuepai_page.get_elements("记分房创建页面游戏列表") print elements print len(elements) for i in range(0, len(elements)): print elements[i].get_attribute("text") elements[i].click() self.yuepai_page.enter_room() self.yuepai_page.screenshot("01.png") time.sleep(15 * 60) self.yuepai_page.screenshot("02.png") self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() break def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C27364_Money_Notenough(TestCase): ''' 携带银币少于入场下限但未破产情况下入场 ''' owner = "ShelleyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.game_page = Game_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.start_step("获取mid") global mid mid = self.common.get_config_value("casecfg", "mid") self.common.closeactivity(self.luadriver) def action(self): try: while (self.hall_page.element_is_exist("预发布") != True): self.luadriver.back() time.sleep(10) print "等待牌局打完" except: print "退出牌局失败" def bian_li(self, isChange=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): gameid_name = game_list[i].get_attribute("name") self.start_step("获取游戏ID: %s 初级场下限是" % gameid_name) gameid = int(gameid_name[4:len(gameid_name)]) gamecfg = PHPInterface.get_levelconfig(gameid, 0, 0, 12) #获取入场下限的配置 low_limit = gamecfg.get('values', {'LOW_LIMIT': None}).get('LOW_LIMIT') self.log_info("游戏ID: %s 初级场下限是%d" % (gameid_name, low_limit)) self.common.set_coin(mid=mid, value= low_limit - 10) self.common.switchserver() self.common.closeActivityBtn() try: if isChange and self.hall_page.element_is_exist("换页"): self.hall_page.wait_element("换页").click() #判断是否需要换页 game_list[i].click() time.sleep(2) self.game_page.game_is_download() ele = self.hall_page.get_elements("场次名称") time.sleep(2) if len(ele) == 3: ele[2].click() time.sleep(3) self.hall_page.screenshot("%s_Highscreen.png" % game_list[i].get_attribute("name")) self.action() #得到返回界面 time.sleep(2) elif len(ele) == 2: ele[1].click() time.sleep(3) self.hall_page.screenshot("%s_Middlescreen.png" % game_list[i].get_attribute("name")) self.action() time.sleep(2) elif len(ele) == 1: self.hall_page.screenshot("%s_NotHaveHighscreen.png" % game_list[i].get_attribute("name")) else: ele[3].click() time.sleep(3) self.hall_page.screenshot("%s_Otherscreen.png" % game_list[i].get_attribute("name")) self.action() time.sleep(2) #点击高级场 try: self.hall_page.wait_element("关闭对话框").click() self.yuepai_page.is_exist_yuepairoom() except: print "退出房间失败" if self.hall_page.wait_element("返回1") != None: self.hall_page.wait_element("返回1").click() except: try: self.hall_page.wait_element("重新获取").click() self.hall_page.screenshot("%s_downloadfail.png" % game_list[i].get_attribute("name")) except: self.log_info("重新获取元素並未存在") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.start_step("获取子游戏列表") self.bian_li() self.hall_page.wait_element("换页").click() self.bian_li(True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.recover_user(mid) self.common.closedriver()
class C27563_Gamelist_Back(TestCase): ''' 房间中未准备点击物理返回键退出房间 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity(self.luadriver) def room_back(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) self.game_page.wait_element("房间场次").click() self.game_page.screenshot("%s_2.png" % game_list[i].get_attribute("name")) time.sleep(5) self.luadriver.keyevent(4) self.game_page.wait_element("房间场次") self.game_page.screenshot("%s_3.png" % game_list[i].get_attribute("name")) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("获取首屏子游戏列表") self.room_back() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.room_back(is_next=True) def post_test(self): ''' 测试用例执行完后,清理测试环境 ''' self.common.closedriver()
class C27503and275034_Commontab_Display(TestCase): ''' C27503and275034 常用语界面文字查看 常用语界面滑动查看 ''' owner = "Lucyliu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def see_chat(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.wait_element("房间场次").click() starttime = time.time() while self.yuepai_page.element_is_exist("房间内聊天") == False: time.sleep(1) endtime = time.time() if (endtime - starttime) > 20: continue self.yuepai_page.wait_element("房间内聊天", 20).click() time.sleep(3) self.game_page.screenshot("%s_chat.png" % game_list[i].get_attribute("name")) elements = self.yuepai_page.get_elements("发送常用聊天") if len(elements) > 2: self.common.swipeelement(elements[len(elements) - 3], elements[0]) self.game_page.screenshot( "%s_swipe.png" % game_list[i].get_attribute("name")) self.game_page.element_is_exist("头像frame").click() else: self.log_info("聊天界面展示不完全") self.game_page.screenshot( "%s_swipe1.png" % game_list[i].get_attribute("name")) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("获取首屏子游戏列表") self.see_chat() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.see_chat(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C27035_Gamehelp_Helpswipe(TestCase): ''' 帮助面板中各tab页右侧主要内容描述超出一页的可以正常滑动显示正常 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.game_page = Game_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity(self.luadriver) def see_rule_swipe(self, list, is_next=False): game_list = [] if len(list) == 0: self.log_info("重新获取游戏列表") game_list0 = self.game_page.get_game_list() for i in range(len(game_list0)): game_list.append(game_list0[i].get_attribute("name")) elif str(list[0]) == "nogame": return else: self.log_info("使用已有的list") game_list = list print game_list for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i]) time.sleep(1) self.luadriver.find_lua_element_by_name(game_list[i]).click() if(self.game_page.game_is_download()==False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.log_info("进入游戏ID:%s 的房间" % game_list[i]) self.game_page.wait_element("房间场次").click() self.game_page.screenshot("%s.png" % game_list[i]) if (self.game_page.element_is_exist("规则") == True): if game_list[i] not in list: list.append(game_list[i]) self.game_page.wait_element("规则").click() self.log_info("进入游戏ID:%s 的房间,有规则说明" % game_list[i]) self.game_page.screenshot("%s_default_rule.png" % game_list[i]) scroll_element = self.game_page.wait_element("帮助内容") self.luadriver.swipe(scroll_element.location['x'], scroll_element.location['y'], scroll_element.location['x'], scroll_element.location['x'] + scroll_element.size['height'] / 2, 1000) self.game_page.screenshot("%s_swipe_help.png" % game_list[i]) self.luadriver.keyevent(4) time.sleep(2) else: self.log_info("游戏ID:%s 的房间无规则说明" % game_list[i]) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") if len(list)==0: list.append(u"nogame") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("查看首屏子游戏列表,是否有规则按钮") self.see_rule_swipe(game_list1) self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("查看第二屏子游戏列表,是否有规则按钮") self.see_rule_swipe(game_list2,is_next=True) print game_list1 print game_list2 def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C27036_Gamehelp_Helptext_Switch(TestCase): ''' 帮助面板中各tab快速切换,查看是否显示正常 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.game_page = Game_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity(self.luadriver) def see_rule_content(self, list, is_next=False): game_list = [] if len(list) == 0: self.log_info("重新获取游戏列表") game_list0 = self.game_page.get_game_list() for i in range(len(game_list0)): game_list.append(game_list0[i].get_attribute("name")) elif str(list[0]) == "nogame": return else: self.log_info("使用已有的list") game_list = list print game_list for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i]) time.sleep(1) self.luadriver.find_lua_element_by_name(game_list[i]).click() if(self.game_page.game_is_download()==False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.log_info("进入游戏ID:%s 的房间" % game_list[i]) self.game_page.wait_element("房间场次").click() self.game_page.screenshot("%s.png" % game_list[i]) if (self.game_page.element_is_exist("规则") == True): if game_list[i] not in list: list.append(game_list[i]) self.game_page.wait_element("规则").click() self.log_info("进入游戏ID:%s 的房间,有规则说明" % game_list[i]) self.game_page.screenshot("%s_default_rule.png" % game_list[i]) self.log_info("查看帮助页面内容") helps = self.game_page.get_elements("帮助列表") black_help = ["帮助"] for i in range(len(helps)): try: name = helps[i].get_attribute('text').decode('utf-8') if name != None: if name not in black_help: black_help.append(name) helps[i].click() time.sleep(1) self.game_page.screenshot("help_%d.png" % i) except: print "" self.luadriver.keyevent(4) time.sleep(2) else: self.log_info("游戏ID:%s 的房间无规则说明" % game_list[i]) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") if len(list)==0: list.append(u"nogame") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("查看首屏子游戏列表,是否有规则按钮") self.see_rule_content(game_list1) self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("查看第二屏子游戏列表,是否有规则按钮") self.see_rule_content(game_list2,is_next=True) print game_list1 print game_list2 def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C27391and27396_Vip_RoomHead(TestCase): ''' 普通房间界面查看vip玩家头像和昵称显示 ''' owner = "Lucyliu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) self.mid = self.common.get_config_value("casecfg", "mid") self.common.recover_user(self.mid) PHPInterface.set_vip(self.mid, 5) def see_head(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.wait_element("房间场次").click() time.sleep(3) self.game_page.screenshot("%s_head.png" % game_list[i].get_attribute("name")) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("进入子游戏查看头像") self.start_step("获取首屏子游戏列表") self.see_head() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.see_head(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.recover_user(self.mid) self.common.closedriver()
class C27385_quicklyStartGame_coinsEnough(TestCase): ''' 玩家自身携带条件不足够进入全部玩法场次时,快速开始入场 ''' owner = "GuixiangGui" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 def pre_test(self): self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.common = Common() self.start_step("初始化driver") self.driver = self.common.setupdriver() self.start_step("关闭弹出框") self.common.closeactivity(self.driver) def run_test(self): def test_game(gameElement, needClickRight, isTiro = True): gameId = gameElement.get_attribute("name") self.start_step("进入子游戏%s " %gameId) levelConfig = PHPInterface.get_levelconfig(re.search('\d+', gameId).group(), 0, 0, 12) tiro_high_limit = int(levelConfig.get("values").get("HIGH_LIMIT")) screenName = gameId if tiro_high_limit < 0 and not isTiro: return if isTiro: if tiro_high_limit < 0: tiro_high_limit = int(levelConfig.get("values").get("LOW_LIMIT"))+500 self.common.set_coin(self.mid, tiro_high_limit-100) screenName = screenName+'Tiro.png' else: self.common.set_coin(self.mid, tiro_high_limit+100) screenName = screenName+'Midrange.png' self.common.switchserver() self.common.closeActivityBtn() if needClickRight and self.hall_page.element_is_exist("右三角"): self.hall_page.wait_element("右三角").click() self.start_step("开始快速开场测试") gameElement.click() self.game_page.wait_element("快速开始").click() if self.game_page.element_is_exist("菜单键", 10): self.game_page.screenshot(screenName) else: self.game_page.screenshot(gameId+"_intoRoom_fail.png") self.yuepai_page.is_exist_yuepairoom() # while True: # if self.hall_page.element_is_exist("预发布"): # break # self.driver.back() def traverseGameList(gameList, needClickRight=False): for gameElement in gameList: if needClickRight and self.hall_page.element_is_exist("右三角"): self.hall_page.wait_element("右三角").click() gameElement.click() if self.hall_page.element_is_exist("重新获取", 3): self.game_page.screenshot(gameElement.get_attribute("name")+"_open_failed.png") self.hall_page.wait_element("关闭对话框").click() continue self.game_page.game_is_download() if self.game_page.element_not_exist("广播"): self.game_page.click_game_play() roomLevel = self.game_page.get_elements("房间场次") if len(roomLevel)>1: try: test_game(gameElement, needClickRight, True) test_game(gameElement, needClickRight, False) except: self.game_page.screenshot(gameElement.get_attribute("name")+"_failed.png") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() except: self.log_info("退出房间失败") self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.mid = self.common.get_config_value("casecfg", "mid") self.start_step("遍历首页游戏列表") traverseGameList(self.game_page.get_game_list()) try: self.hall_page.wait_element("右三角").click() traverseGameList(self.game_page.get_game_list(), True) except: print "没有右三角按钮" def post_test(self): self.common.closedriver() self.common.recover_user(self.mid)
class C27399_Nickname_Sixchar(TestCase): ''' 牌局中查看个人昵称1-6个英文或者其他特殊字符显示 ''' owner = "Lucyliu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def see_nickname(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.wait_element("房间场次").click() starttime = time.time() while self.game_page.element_is_exist("头像frame") == False: time.sleep(1) endtime = time.time() if (endtime - starttime) / 1000 > 20: break self.game_page.screenshot("%s_nickname.png" % game_list[i].get_attribute("name")) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.hall_page.wait_element("头像").click() self.start_step("修改用户名") nickname = self.common.random_str(6) print nickname self.personinfo_page.wait_element("设置用户名").send_keys(nickname) self.personinfo_page.wait_element("修改用户名").click() #点击页面其他元素,设置保存 self.personinfo_page.wait_element("了解VIP特权").click() self.personinfo_page.screenshot('NicknameAlter.png') self.personinfo_page.wait_element("关闭").click() self.start_step("进入子游戏查看头像") self.start_step("获取首屏子游戏列表") self.see_nickname() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.see_nickname(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C27501_RoomFace_Enterroom(TestCase): ''' 使用过表情之后,退出房间,再次进入房间查看默认选项卡 ''' owner = "Lucyliu" status = EnumStatus.Design priority = EnumPriority.High timeout = 20 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def see_chat(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") j = 0 while j < 2: self.game_page.wait_element("房间场次").click() starttime = time.time() self.start_step("进入房间聊天") while self.yuepai_page.element_is_exist("房间内聊天") == False: time.sleep(1) endtime = time.time() if (endtime - starttime) / 1000 > 20: break self.yuepai_page.wait_element("房间内聊天", 40).click() time.sleep(3) self.game_page.screenshot( "%s_chat_%s.png" % (game_list[i].get_attribute("name"), j)) self.yuepai_page.wait_element("表情", 20).click() self.game_page.screenshot( "%s_chat1_%s.png" % (game_list[i].get_attribute("name"), j)) elements = self.yuepai_page.get_elements("发送表情") elements[0].click() self.game_page.screenshot( "%s_%s.png" % (game_list[i].get_attribute("name"), j)) self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() j += 1 except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("获取首屏子游戏列表") self.see_chat() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.see_chat(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class BaseCase(TestCase): gameIDList = ['game203', 'game24', 'game1502', 'game23', 'game2603'] gameOverFlag = [ 'game203结算框标志', 'game7结算框标志', 'game20结算框标志', 'game2002结算框标志', 'game2601结算框标志', 'game2603结算框标志'] child_game_timeout = 5 def pre_test(self, needSetSafebox=False): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.safebox_page = Safebox_Page() self.start_step("获取用户mid") global mid mid = self.common.get_config_value("casecfg", "mid") self.start_step("设置银币数为20000") self.common.set_coin(mid, '20000') if needSetSafebox == True: self.start_step("设置保险箱银币数为100000") self.common.set_safeBoxMoney(mid, 100000, 0) # money_dict = PHPInterface.get_safebox(mid) # print money_dict["safebox"] # 初始化Luadriver self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def enterGame(self, gameElment, needClickRight=False): gameId = gameElment.get_attribute("name") self.start_step("点击游戏:" + gameId) if needClickRight: self.click_rightArrow() gameElment.click() if self.game_page.game_is_download(): #主要用来兼容新版本斗地主,没有广播说明有多种玩法,新版本存在不同的游戏级别(银币场、金条场、话费场) if not self.game_page.element_is_exist("广播") or self.game_page.element_is_exist("游戏级别", 1): #切到第一种玩法 self.game_page.click_game_play() self.start_step("进入游戏房间:" + gameId) #旧版本斗地主 if self.game_page.element_is_exist("初级场"): self.game_page.wait_element("初级场").click() self.game_page.screenshot("%s进入房间.png" % gameId) # 新版本斗地主 elif self.game_page.element_is_exist("第一个房间"): self.game_page.wait_element("第一个房间").click() self.game_page.screenshot("%s进入房间.png" % gameId) else: self.assert_equal(gameId + "进入游戏房间失败", False, True) self.gameToHall() return False return True else: self.assert_equal(gameId + "进入游戏失败", False, True) return False def gameIsAutoReady(self, gameElment): gameId = gameElment.get_attribute("name") return gameId in self.gameIDList def click_rightArrow(self): if self.hall_page.element_is_exist("右三角"): self.hall_page.wait_element("右三角").click() time.sleep(1) return True return False def test(self, traverseGameList): game_list = self.game_page.get_game_list() traverseGameList(game_list) if self.click_rightArrow(): game_list = self.game_page.get_game_list() traverseGameList(game_list, True) def clickRoomMenu(self, gameid_name): self.game_page.wait_element("房间内菜单").click() self.game_page.screenshot("%s房间内菜单按钮.png" % gameid_name) #点击电池,为了关闭打开的菜单 if self.game_page.element_is_exist("电池标志"): self.game_page.wait_element("电池标志").click() def wait_for_gameover(self, gameid_name): if gameid_name == "game203": while not self.game_page.element_is_exist("game203详情按钮"): time.sleep(1) if self.game_page.element_is_exist("game203详情按钮"): return True elif gameid_name == "game23" or gameid_name == "game3": while not self.game_page.element_is_exist("换桌") and not self.game_page.element_is_exist("准备"): time.sleep(1) if self.game_page.element_is_exist("换桌") and self.game_page.element_is_exist("准备"): return True else: while not self.game_page.element_is_exist("关闭结算界面") and not self.game_page.element_is_exist("关闭结算界面1"): time.sleep(1) if self.game_page.element_is_exist("关闭结算界面"): self.game_page.wait_element("关闭结算界面").click() return True if self.game_page.element_is_exist("关闭结算界面1"): self.game_page.wait_element("关闭结算界面1").click() return True def gameToHall(self): self.yuepai_page.is_exist_yuepairoom() if self.game_page.element_is_exist("返回1"): self.game_page.wait_element("返回1").click() elif self.game_page.element_is_exist("返回大厅"): self.game_page.wait_element("返回大厅").click() time.sleep(2) def post_test(self): self.common.recover_user(mid) self.common.closedriver()
class GameRoom_Initialize(TestCase): ''' 游戏房间初始化,目前只初始化了斗地主 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.luadriver = self.common.setupdriver() self.common.closeactivity(self.luadriver) def gameroom_init(self, is_next=False): # game_list = self.game_page.get_game_list() game_list = ['game203'] print game_list for i in range(len(game_list)): # self.start_step("打开机器人开关") gamename = game_list[i] if (self.game_page.game_is_exist(self.luadriver, gamename) == True): gameid = filter(lambda ch: ch in '0123456789', gamename) print gameid # gameid = '203' # gamename = "game203" # self.game_page.set_robot(gameid=gameid,robotflag=1) self.start_step("进入子游戏:%s" % game_list[i]) time.sleep(1) self.luadriver.find_lua_element_by_name(gamename).click() self.game_page.game_is_download() try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % gamename) try: self.log_info("进入游戏ID:%s 的第一个玩法" % gamename) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.wait_element("房间场次").click() # self.game_page.screenshot("%s.png" % game_list[i]) self.start_step("判断当前游戏是否自动准备,如果是,则继续玩游戏,否则,退出房间") if (self.game_page.element_is_exist("抢地主", 30) == True): self.game_page.wait_element("抢地主").click() while (self.yuepai_page.element_is_exist("准备", 3) == False): try: self.yuepai_page.wait_element("菜单键").click() self.game_page.wait_element("托管").click() self.game_page.screenshot("%s.png" % gameid) break except: self.log_info("托管失败") try: self.yuepai_page.wait_element("准备", 100) except: self.log_info("等待准备按钮出现失败") except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") self.game_page.wait_element("右三角标").click() except: self.log_info("未找到元素") self.start_step("关闭机器人开关") self.common.set_robot(gameid=gameid, robotflag=0) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("查看首屏子游戏列表") self.gameroom_init() # self.start_step("点击大厅第二页") # if (self.game_page.element_is_exist("右三角标") == True): # self.game_page.wait_element("右三角标").click() # else: # self.game_page.wait_element("左三角标").click() # self.start_step("查看第二屏子游戏列表,是否有规则按钮") # self.gameroom_init(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # mid = self.common.get_config_value("casecfg", "mid") # self.common.recover_user(mid) self.common.closedriver()
class C27218_Gamelist_Ready_Reconnect(TestCase): ''' 玩家已准备游戏未开始,网络波动 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.sign_page = Sign_Page() self.start_step("初始化driver") capabilities = {} capabilities['newCommandTimeout'] = 60 * 3 self.luadriver = self.common.setupdriver(capabilities) self.common.closeactivity(self.luadriver) def noready_lock_longtime(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i].get_attribute("name")) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue self.game_page.wait_element("同步标志", 20) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i].get_attribute("name")) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) self.game_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) self.game_page.wait_element("房间场次").click() time.sleep(30) try: self.game_page.wait_element("准备").click() except: self.log_info("当前已准备") self.start_step("判断当前游戏是否准备,如果是,则继续玩游戏,否则,退出房间") self.yuepai_page.play_game() self.game_page.screenshot("%s_before.png" % game_list[i].get_attribute("name")) # self.start_step("锁屏") # self.luadriver.keyevent(26) # 锁屏 try: self.hall_page.wait_element("测试按钮").click() self.game_page.wait_element("重连").click() except: self.common.switchnetwork(self.luadriver, u"无网络") time.sleep(3) self.common.switchnetwork(self.luadriver, u"WIFI模式") self.common.network_connect() time.sleep(3) self.game_page.screenshot("%s_being.png" % game_list[i].get_attribute("name")) # time.sleep(2*60) # self.start_step("解锁") # self.common.unlock() time.sleep(4) self.game_page.screenshot("%s_after.png" % game_list[i].get_attribute("name")) self.yuepai_page.wait_element("换桌") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("退出房间失败") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("查看首屏子游戏列表") self.noready_lock_longtime() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("查看第二屏子游戏列表") self.noready_lock_longtime(is_next=True) def post_test(self): ''' 测试用例执行完后,清理测试环境 ''' self.common.closedriver()
class C27215_Gamelist_Noready_Lock(TestCase): ''' 玩家进入房间准备,短时间锁屏 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.start_step("关闭活动页面") self.common.closeactivity(self.luadriver) def noready_lock(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i].get_attribute("name")) self.game_page.screenshot( "%s_downfail.png" % game_list[i].get_attribute("name")) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue self.game_page.wait_element("同步标志", 20) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i].get_attribute("name")) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) self.game_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) self.game_page.wait_element("房间场次").click() time.sleep(30) try: self.game_page.wait_element("准备").click() except: self.log_info("当前已准备") self.start_step("判断当前游戏是否准备,如果是,则继续玩游戏,否则,退出房间") self.yuepai_page.play_game() self.game_page.screenshot("%s_before.png" % game_list[i].get_attribute("name")) self.start_step("锁屏") self.luadriver.keyevent(26) # 锁屏 self.game_page.screenshot("%s_being.png" % game_list[i].get_attribute("name")) time.sleep(2) self.start_step("解锁") self.common.unlock() time.sleep(4) self.game_page.screenshot("%s_after.png" % game_list[i].get_attribute("name")) self.start_step("读配置,拉起游戏") self.yuepai_page.wait_element("换桌") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("退出房间失败") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("查看首屏子游戏列表") self.noready_lock() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("查看第二屏子游戏列表") self.noready_lock(is_next=True) def post_test(self): ''' 测试用例执行完后,清理测试环境 ''' self.common.closedriver()
class C70531_Save_Money(TestCase): ''' 银币高出房间限制界面存钱入场 ''' owner = "ShelleyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 20 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.game_page = Game_Page() self.start_step("获取mid") global mid mid = self.common.get_config_value("casecfg", "mid") self.start_step("携带1000000银币") self.common.set_coin(mid=mid,value='100000000') # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def action(self, isChange=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): # 得到大厅所有的游戏控件 if isChange and self.hall_page.element_is_exist("换页"): self.hall_page.wait_element("换页").click() try: game_list[i].click() self.game_page.game_is_download() ele = self.hall_page.get_elements("场次名称") ele[0].click() # 点击初级场 try: self.hall_page.wait_element("存钱入场").click() except: self.log_info("未出现存钱入场的按钮") time.sleep(3) self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) try: self.yuepai_page.is_exist_yuepairoom() self.hall_page.wait_element("关闭对话框").click() except: print "退出房间失败" if self.hall_page.wait_element("返回1") != None: self.hall_page.wait_element("返回1").click() except: try: self.hall_page.wait_element("重新获取").click() self.hall_page.screenshot("%s_downloadfail.png" % game_list[i].get_attribute("name")) except: self.log_info("重新获取元素並未存在") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.start_step("获取子游戏列表") self.action() self.hall_page.wait_element("换页").click() self.action(True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.recover_user(mid) self.start_step("从保险箱取出银币") self.common.set_safeBoxMoney(mid, 0, 0) self.common.closedriver()
class C27468_Gameroom_Cheat_Room(TestCase): ''' 进入防作弊房间查看房间内UI显示 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 20 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() global mid mid = self.common.get_config_value("casecfg","mid") self.common.set_coin(mid,value=50000) self.common.closeactivity(self.luadriver) def room_cheat(self, game_list, is_next=False, switch=1): self.common.room_set_cheat(game_list, switch) for i in range(len(game_list)): self.start_step("进入 %s 中级场_作弊场" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i].get_attribute("name")) self.game_page.screenshot("%s_downfail.png" % game_list[i].get_attribute("name")) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue self.game_page.wait_element("反作弊icon") self.game_page.screenshot("_%s_cheat.png" % game_list[i].get_attribute("name")) elements = self.game_page.get_elements("房间场次") print elements elements[1].click() self.game_page.screenshot("_%s_cheat_room.png" % game_list[i].get_attribute("name")) if(self.game_page.element_is_exist("房间内聊天")==False): self.log_info("%s防作弊场无聊天按钮" % game_list[i].get_attribute("name")) else: raise "%s防作弊场出现聊天按钮" % game_list[i].get_attribute("name") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("获取首屏子游戏列表,并设置为作弊场") game_list = self.game_page.get_game_list() self.room_cheat(game_list, switch=1) self.common.room_set_cheat(game_list, switch=0) self.start_step("获取第二页的子游戏") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页子游戏列表,并设置为作弊场") game_list1 = self.game_page.get_game_list() self.room_cheat(game_list1, is_next=True, switch=1) self.common.room_set_cheat(game_list1, switch=0) def post_test(self): ''' 测试用例执行完后,清理测试环境 ''' self.common.recover_user(mid) self.common.closedriver()
class C70531_Use_Safebox(TestCase): ''' 携带银币少于破产线,但保险箱有钱情况下入场 ''' owner = "ShelleyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 60 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.game_page = Game_Page() global mid mid = self.common.get_config_value("casecfg", "mid") # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) # def first_body(self,money): # #设置自身携带银币数 # self.start_step("获取mid") # self.common.set_coin(mid=mid,value=money) # self.common.switchserver() # self.common.closeActivityBtn() # # def safebox_money(self): # self.start_step("存钱到保险箱") # self.hall_page.wait_element("保险箱").click() # self.hall_page.wait_element("存钱").click() # self.common.swipeelement(self.hall_page.wait_element("滚动条"), self.hall_page.wait_element("添加")) # self.hall_page.wait_element("确定按钮").click() # if self.hall_page.element_is_exist("存钱") ==True: # self.hall_page.wait_element("空白页").click() def action(self,isChange=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): # 得到大厅所有的游戏控件 # self.first_body("35000") self.common.set_coin(mid=mid, value="1000") self.common.set_safeBoxMoney(mid,34000,money_type=0) self.common.switchserver() self.common.closeActivityBtn() # # 首先设置初始自身携带的银币数 # self.safebox_money() # # 将自身携带的银币数存入保险箱 # self.first_body("1000") # 再次设置自身携带的银币数 # if isChange and self.hall_page.element_is_exist("换页"): # self.hall_page.wait_element("换页").click() try: game_list[i].click() self.game_page.game_is_download() ele = self.hall_page.get_elements("场次名称") ele[0].click() #点击初级场 self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) self.hall_page.wait_element("关闭按钮").click() #判断点击关闭按钮是否可以正常返回 ele[0].click() # 点击初级场 self.hall_page.wait_element("打开保险箱").click() self.hall_page.wait_element("取出").click() self.common.swipeelement(self.hall_page.wait_element("滚动条"), self.hall_page.wait_element("添加")) self.hall_page.wait_element("确定按钮").click() self.hall_page.wait_element("頭像").click() ele[0].click() # 点击初级场 self.hall_page.screenshot("%s_2.png" % game_list[i].get_attribute("name")) try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if isChange == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") except: try: self.hall_page.wait_element("重新获取").click() self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name")) except: print "截图失败" def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") # self.start_step("存钱到保险箱") self.action() self.hall_page.wait_element("换页").click() self.action(True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.recover_user(mid) self.start_step("从保险箱取出银币") self.common.set_safeBoxMoney(mid, 0, 0) self.common.closedriver()
class C27021_ReadyCountdown(TestCase): ''' 准备成功倒计时,换桌按钮点击无效 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.personinfo_page = Personinfo_Page() self.start_step("初始化环境") self.luadriver = self.common.setupdriver() self.common.closeactivity(self.luadriver) def enter_room(self, is_next=False): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step('遍历子游戏') # elements = self.hall_page.get_elements('子游戏') game_list = self.game_page.get_game_list() print len(game_list) for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i].get_attribute("name")) self.game_page.screenshot("%s_downfail.png" % game_list[i].get_attribute("name")) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue self.start_step('进入初级场') self.game_page.wait_element("房间场次").click() while self.hall_page.element_is_exist("换桌"): self.hall_page.wait_element("准备").click() time.sleep(2) self.hall_page.screenshot("%s_huanzuo.png" % game_list[i].get_attribute("name")) try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("获取首屏子游戏列表") self.enter_room() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.enter_room(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.recover_user(self.common.get_config_value( "casecfg", "mid")) self.common.closedriver()
class C27417_personCardLevel_openOtherView(TestCase): ''' 个人资料卡打开情况下,打开其他界面查看层级 ''' owner = "GuixiangGui" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 def pre_test(self): self.game_page = Game_Page() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.common = Common() self.start_step("初始化driver") self.driver = self.common.setupdriver() self.start_step("关闭弹出框") self.common.closeactivity(self.driver) def run_test(self): def test_game(gameId): self.start_step("%s 子游戏初级场" % gameId) self.game_page.wait_element("初级场").click() elist = ["聊天", "聊天1", "对局流水", "番数说明", "牌型", "规则", "菜单键"] for eName in elist: # if not self.game_page.element_is_exist("物品箱", 3): if self.game_page.element_is_exist(eName, 2): try: self.game_page.get_elements("头像frame")[0].click() self.game_page.screenshot(gameId + "_" + eName + "_headview.png") self.game_page.wait_element(eName).click() self.game_page.screenshot(gameId + "_" + eName + ".png") except: self.game_page.screenshot(gameId + "_notfoundhead" + ".png") # return self.yuepai_page.is_exist_yuepairoom() # if self.game_page.element_is_exist(eName, 2): # self.game_page.wait_element(eName).click() # self.game_page.screenshot(gameId+"_"+eName+".png") def traverseGameList(gameList, needClickRight=False): for gameElement in gameList: if needClickRight and self.hall_page.element_is_exist("右三角"): self.hall_page.wait_element("右三角").click() gameElement.click() if self.hall_page.element_is_exist("重新获取", 3): self.game_page.screenshot( gameElement.get_attribute("name") + "_open_failed.png") self.hall_page.wait_element("关闭对话框").click() continue self.game_page.game_is_download() # if self.game_page.element_not_exist("广播"): # self.game_page.game_play_way() test_game(gameElement.get_attribute("name")) while True: if self.hall_page.element_is_exist("客服", 3): break self.driver.back() self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("遍历首页游戏列表") traverseGameList(self.game_page.get_game_list()) try: self.hall_page.wait_element("右三角").click() traverseGameList(self.game_page.get_game_list(), True) except: print "没有右三角按钮" def post_test(self): self.common.closedriver()
class C27391_Room_Head_Alter(TestCase): ''' 头像为修改过的头像,进入牌局中查看头像显示 ''' owner = "Lucyliu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化头像,设置为默认值") self.mid = self.common.get_config_value("casecfg", "mid") PHPInterface.reset_img(self.mid) self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def see_head(self, is_next=False): game_list = self.game_page.get_game_list() for i in range(len(game_list)): self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name")) game_list[i].click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % game_list[i]) self.game_page.screenshot("%s_downfail.png" % game_list[i]) try: self.hall_page.wait_element("关闭对话框").click() except: print "关闭弹框" continue try: self.game_page.wait_element("同步标志", 20) self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name")) try: self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i]) elements = self.game_page.game_play_way() elements[0][1].click() except: self.log_info("当前子游戏初级场") self.game_page.wait_element("房间场次").click() self.game_page.screenshot("%s_head.png" % game_list[i].get_attribute("name")) except: try: self.hall_page.wait_element("关闭对话框").click() except: self.log_info("未找到元素") try: self.start_step("退出房间") self.yuepai_page.is_exist_yuepairoom() self.game_page.wait_element("返回1").click() if is_next == True: self.log_info("is_next为True则表示遍历的是第二页的子游戏") try: self.game_page.wait_element("右三角标").click() except: self.log_info("当前为第二页") except: self.log_info("未找到元素") def run_test(self): ''' 测试用例 ''' self.hall_page.wait_element("头像").click() self.personinfo_page.screenshot("pre_change_head.png") # self.start_step("拍照修改为自定义头像") # self.personinfo_page.wait_element("头像logo").click() # self.start_step("拍照修改头像") # self.luadriver.find_element_by_id("android:id/text1").click() # self.luadriver.keyevent(27) #拍照 # time.sleep(10) # try: # self.luadriver.find_elements_by_class_name("android.widget.ImageView")[4].click() # except: # print "未找到元素1" # try: # self.luadriver.find_elements_by_class_name("android.widget.TextView")[1].click() # except: # print "未找到元素2" # time.sleep(5) # try: # self.luadriver.find_element_by_id("com.android.gallery3d:id/head_select_right").click() # except: # print "未找到元素3" # try: # self.luadriver.find_element_by_id("com.sec.android.gallery3d:id/save").click() # except: # print "未找到元素3" # time.sleep(5) if self.personinfo_page.wait_element("女").is_selected( ) == True and self.personinfo_page.wait_element( "男").is_selected() == False: print "选择项为女" self.personinfo_page.wait_element("男").click() elif self.personinfo_page.wait_element("男").is_selected( ) == True and self.personinfo_page.wait_element( "女").is_selected() == False: print "选择项为男" self.personinfo_page.wait_element("女").click() elif self.personinfo_page.wait_element("男").is_selected( ) == False and self.personinfo_page.wait_element( "女").is_selected() == False: print "选择项为隐藏" self.personinfo_page.wait_element("女").click() self.personinfo_page.screenshot("after_change_head.png") self.luadriver.keyevent(4) self.start_step("进入子游戏查看头像") self.start_step("获取首屏子游戏列表") self.see_head() while (self.hall_page.element_is_exist("同步标志") == False): self.game_page.wait_element("返回1").click() self.start_step("点击大厅第二页") if (self.game_page.element_is_exist("右三角标") == True): self.game_page.wait_element("右三角标").click() else: self.game_page.wait_element("左三角标").click() self.start_step("获取第二页的子游戏") self.see_head(is_next=True) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()