class C70627_Moneyroom_Ready_Lock(TestCase): ''' 玩家进入银币/金条房间已准备,短时间锁屏 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) self.start_step("获取mid") mid = self.common.get_mid() self.start_step("设置为20000银币") self.common.set_coin(mid=mid, value='20000') self.common.switchserver() self.common.closeactivity(self.luadriver) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入约牌页面") self.hall_page.wait_element("约牌").click() self.start_step("创建银币/金条房") self.yuepai_page.create_room("创建银币金条房") try: self.yuepai_page.wait_element("准备", 30).click() except: self.log_info("当前页面未展示准备按钮") self.yuepai_page.element_is_exist("已准备") time.sleep(10) self.yuepai_page.screenshot("before.png") self.start_step("锁屏") self.luadriver.keyevent(26) # 锁屏 time.sleep(2) self.yuepai_page.screenshot("being.png") self.start_step("解锁") self.common.unlock() time.sleep(6) self.yuepai_page.screenshot("after.png") self.yuepai_page.element_is_exist("已准备") self.start_step("退出约牌房") self.yuepai_page.exit_yuepai_page() self.hall_page.wait_element("同步标志") def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C70628_Moneyroom_Ready_Back_Longtime(TestCase): ''' 玩家进入银币/金条房间已准备 长时间切换后台 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() capabilities = {} capabilities['newCommandTimeout'] = 60 * 3 self.luadriver = self.common.setupdriver(capabilities) # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) self.start_step("获取mid") mid = self.common.get_mid() self.start_step("设置为20000银币") self.common.set_coin(mid=mid, value='20000') self.common.switchserver() self.common.closeactivity(self.luadriver) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入约牌页面") self.hall_page.wait_element("约牌").click() self.start_step("创建银币/金条房") self.yuepai_page.create_room("创建银币金条房") try: self.yuepai_page.wait_element("准备", 30).click() except: self.log_info("当前页面未展示准备按钮") self.yuepai_page.element_is_exist("已准备") time.sleep(10) self.yuepai_page.screenshot("before.png") self.start_step("切换到后台") self.luadriver.keyevent(3) # home time.sleep(2 * 60) self.yuepai_page.screenshot("being.png") self.common.unlock() time.sleep(4) self.yuepai_page.screenshot("agfter.png") self.yuepai_page.element_is_exist("已准备") self.start_step("退出约牌房") self.yuepai_page.exit_yuepai_page() self.hall_page.wait_element("同步标志") 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 C70627_Moneyroom_Ready_Back(TestCase): ''' 玩家进入银币/金条房间已准备,短时间切换后台 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) self.start_step("获取mid") mid = self.common.get_mid() self.start_step("设置为20000银币") self.common.set_coin(mid=mid, value='20000') self.common.switchserver() self.common.closeactivity(self.luadriver) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入约牌页面") self.hall_page.wait_element("约牌").click() self.start_step("创建银币/金条房") self.yuepai_page.create_room("创建银币金条房") try: self.yuepai_page.wait_element("准备", 120).click() except: self.log_info("当前页面未展示准备按钮") self.yuepai_page.element_is_exist("已准备") self.yuepai_page.screenshot("before.png") self.start_step("home键") self.luadriver.keyevent(3) # home time.sleep(2) self.yuepai_page.screenshot("being.png") # self.yuepai_page.wait_element("准备") self.start_step("拉起游戏") config = ConfigHelper(constant.cfg_path) self.luadriver.start_activity(config.getValue('appium', 'apppackage'), config.getValue('appium', 'appactivity')) time.sleep(1) self.yuepai_page.screenshot("after.png") self.yuepai_page.element_is_exist("已准备") self.start_step("退出约牌房") self.yuepai_page.exit_yuepai_page() self.hall_page.wait_element("同步标志") def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C31193_DFQP_Yuepai_CreateRoom_EnoughCrystal(TestCase): ''' 破产有金条时,创建金条约牌房 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() global user_info, UserID user_info = self.common.get_user() print user_info UserID = user_info.get('mid') print 'UserID:%s' % UserID user_info1 = PHPInterface.get_user_info(UserID) # 获取玩家信息 coin = json.loads(user_info1).get('result', { 'coin': None }).get('coin') # 获取当前银币值 AddMoney = -coin PHPInterface.add_money(UserID, AddMoney) # 将银币值设为0 crystal = json.loads(user_info1).get('result', { 'crystal': None }).get('crystal') # 获取当前金条值 AddCrystal = 1000 - crystal PHPInterface.add_crystal(UserID, AddCrystal) # 将金条数目置1000 self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() self.yuepai_page = Yuepai_Page() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.common.closeactivity_switchserver(self.luadriver) self.hall_page.wait_element("头像").click() time.sleep(5) self.common.loginuser(user_info['user'], user_info['password']) time.sleep(5) self.common.closeActivityBtn() # i =0 # while i < 3: # i += 1 # try: # self.personinfo_page.wait_element("关闭").click() # except: # print "已关闭窗口" def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step('进入约牌房界面') self.yuepai_page.wait_element('约牌').click() time.sleep(4) self.start_step('进入银币/金条房界面') self.yuepai_page.wait_element('银币/金条房').click() time.sleep(4) self.start_step('点击金条单选按钮') self.yuepai_page.wait_element('金条单选按钮').click() time.sleep(4) self.start_step('点击开房按钮') self.yuepai_page.wait_element('开房').click() try: if (self.yuepai_page.element_is_exist("立即升级") == True): self.yuepai_page.wait_element("关闭").click() except: print "无立即升级按钮" time.sleep(4) self.start_step('点击确定') try: self.yuepai_page.wait_element('确定').click() time.sleep(20) except: print '未找到确定按钮' Flag = True while Flag: try: self.yuepai_page.wait_element('开房').click() except: Flag = False try: self.yuepai_page.wait_element('准备ok') self.yuepai_page.screenshot('.png') print '成功创建房间' except: print '创建房间失败' time.sleep(10) self.start_step("退出约牌房") self.yuepai_page.wait_element("菜单键").click() time.sleep(3) self.yuepai_page.wait_element("退出键").click() time.sleep(4) self.yuepai_page.screenshot('exit.png') self.yuepai_page.wait_element("返回").click() time.sleep(3) self.hall_page.wait_element("同步标志") def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' try: PHPInterface.add_money(UserID, 20000) self.common.deletefile(self.luadriver) self.common.closedriver() except: self.log_info("close driver fail") finally: self.common.release_user(UserID)
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 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 C31193_DFQP_Yuepai_CreateRoom_EnoughCrystal(TestCase): ''' 破产有金条时,创建金条约牌房 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() global mid mid = self.common.get_config_value("casecfg", "mid") self.common.set_coin(mid=mid, value='0') self.common.set_crystal(mid=mid, value="1000") # 初始化Luadriver self.luadriver = self.common.setupdriver() self.yuepai_page = Yuepai_Page() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.common.closeactivity(self.luadriver) def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step('进入约牌房界面') self.yuepai_page.wait_element('约牌').click() time.sleep(4) self.start_step('进入银币/金条房界面') self.yuepai_page.wait_element('银币/金条房').click() time.sleep(4) self.start_step('点击金条单选按钮') self.yuepai_page.wait_element('金条单选按钮').click() time.sleep(4) self.start_step('点击开房按钮') self.yuepai_page.wait_element('开房').click() try: if (self.yuepai_page.element_is_exist("立即升级") == True): self.yuepai_page.wait_element("关闭").click() except: print "无立即升级按钮" time.sleep(4) self.start_step('点击确定') try: self.yuepai_page.wait_element('确定').click() time.sleep(20) except: print '未找到确定按钮' Flag = True while Flag: try: self.yuepai_page.wait_element('开房').click() except: Flag = False try: self.yuepai_page.wait_element('准备ok') self.yuepai_page.screenshot('.png') print '成功创建房间' except: print '创建房间失败' time.sleep(10) self.start_step("退出约牌房") self.yuepai_page.wait_element("菜单键").click() time.sleep(3) self.yuepai_page.wait_element("退出键").click() time.sleep(4) self.yuepai_page.screenshot('exit.png') self.yuepai_page.wait_element("返回").click() time.sleep(3) self.hall_page.wait_element("同步标志") def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' try: self.common.recover_user(mid) self.common.closedriver() except: self.log_info("close driver fail")
class C70458_Scroeroom_Invite(TestCase): ''' 记分房手机未安装微信/QQ邀请,邀请玩家 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.yuepai_page = Yuepai_Page() # 初始化Luadriver self.start_step("初始化driver") self.luadriver = self.common.setupdriver() # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivity(self.luadriver) def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入约牌页面") self.hall_page.wait_element("约牌").click() self.start_step("创建免费记分房") self.yuepai_page.create_room('记分房') self.start_step('点击邀请按钮') self.yuepai_page.wait_element('+邀请', 30).click() self.yuepai_page.screenshot("invite.png") # if (self.yuepai_page.element_is_exist("微信邀请") == True): self.start_step("微信邀请好友") try: self.start_step("微信邀请好友") self.yuepai_page.wait_element("微信邀请").click() time.sleep(3) self.yuepai_page.screenshot("weichat.png") time.sleep(2) self.luadriver.keyevent(4) except: print "微信邀请好友失败" if (self.yuepai_page.element_is_exist("QQ邀请") == True): pass else: self.yuepai_page.wait_element('+邀请', 30).click() self.start_step("QQ邀请") self.yuepai_page.wait_element("QQ邀请").click() self.yuepai_page.screenshot("5.png") self.yuepai_page.wait_element("立即邀请").click() self.yuepai_page.screenshot("6.png") self.luadriver.keyevent(4) self.start_step("退出约牌房") self.yuepai_page.exit_yuepai_page() self.hall_page.wait_element("同步标志") def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()