class C31148_DFQP_GameList_DownLoad_MoreGames(TestCase): ''' 更多游戏 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() # 初始化Luadriver capabilities = {} capabilities['noReset'] = False self.luadriver = self.common.setupdriver(capabilities) # 关闭弹框 self.common.closeactivity_switchserver(self.luadriver) self.common.closefloatBall() self.hall_page = Hall_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例 ''' self.startStep = ("等待页面加载完成") time.sleep(10) self.hall_page.wait_element("同步标志") self.game_page.wait_element("右三角标").click() time.sleep(2) self.start_step("点击第二页的更多游戏") self.start_step("点击更多游戏") self.game_page.wait_element("更多游戏").click() time.sleep(3) self.game_page.screenshot("1.png") self.start_step("下载更多游戏列表的第一个游戏") self.game_page.screenshot("download.png") self.game_page.wait_element("更多游戏[1]").click() try: self.game_page.wait_element("更多游戏关闭下载弹框").click() time.sleep(3) self.game_page.wait_element("更多游戏[1]").click() time.sleep(3) self.game_page.wait_element("更多游戏-立刻下载").click() time.sleep(20) print("游戏下载成功") self.game_page.wait_element("更多游戏[1]").click() self.game_page.screenshot("download1.png") time.sleep(3) self.game_page.wait_element("返回").click() time.sleep(3) except: print("游戏已下载") time.sleep(5) self.game_page.wait_element("返回").click() time.sleep(3) self.start_step("下载更多游戏列表第二个游戏") self.game_page.wait_element("更多游戏[2]").click() try: # self.game_page.wait_element("更多游戏[2]").click() time.sleep(3) self.game_page.wait_element("更多游戏-立刻下载").click() time.sleep(20) print("游戏下载成功") self.game_page.wait_element("更多游戏[2]").click() time.sleep(5) self.game_page.wait_element("返回").click() time.sleep(3) self.game_page.wait_element("更多游戏[2]").click() self.game_page.screenshot("download2.png") time.sleep(3) self.game_page.wait_element("返回").click() time.sleep(3) except: print("游戏已下载") self.game_page.wait_element("返回").click() time.sleep(3) self.start_step("下载更多游戏列表第三个游戏") self.game_page.wait_element("更多游戏[3]").click() try: # self.game_page.wait_element("更多游戏[3]").click() time.sleep(3) self.game_page.wait_element("更多游戏-立刻下载").click() time.sleep(20) print("游戏下载成功") self.game_page.screenshot("download3.png") # self.game_page.wait_element("更多游戏[3]").click() # time.sleep(3) while (self.game_page.element_is_exist("更多游戏[3]") == False): self.game_page.wait_element("返回").click() time.sleep(3) except: print("游戏已下载") self.game_page.wait_element("返回").click() time.sleep(3) self.start_step("下载更多游戏列表第四个游戏") self.game_page.wait_element("更多游戏[4]").click() try: # self.game_page.wait_element("更多游戏[4]").click() time.sleep(3) self.game_page.wait_element("更多游戏-立刻下载").click() time.sleep(20) print("游戏下载成功") self.game_page.wait_element("更多游戏[4]").click() self.game_page.screenshot("download4.png") time.sleep(3) self.game_page.wait_element("返回").click() time.sleep(3) except: print("游戏已下载") self.game_page.wait_element("返回").click() time.sleep(3) self.game_page.screenshot("2.png") time.sleep(2) self.game_page.wait_element("绿色箭头返回").click() time.sleep(2) self.game_page.wait_element("左三角标").click() time.sleep(2) def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.deletefile(self.luadriver) self.common.closedriver()
class D25704_LaiziRoom_Broke_Display(TestCase): ''' 结算触发封顶或破产 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=3000) def play_game(self): self.start_step("开始玩牌") i = 1 while self.game_page.element_is_exist("破产对话框") == False: while self.game_page.element_is_exist("开始"): self.game_page.wait_element("开始").click() while self.game_page.element_is_exist("继续游戏"): self.game_page.wait_element("继续游戏").click() self.start_step("开始玩第%s场牌" % i) starttime = time.time() while self.game_page.element_is_exist("正在配桌中", 1): time.sleep(1) self.log_info("正在配桌中,等待") endtime = time.time() time.sleep(3) try: self.game_page.wait_element("换桌").click() except: self.log_info("换桌失败") if (endtime - starttime) / 60 > self.timeout - 5: self.game_page.is_in_gameroom(self.luadriver) self.log_info("等待超时") return while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") try: self.game_page.wait_element("明牌X2", 2).click() except: self.log_info("未出现明牌按钮") if self.game_page.element_is_exist("继续游戏", 1): break if self.game_page.element_is_exist("机器人") == False: self.game_page.wait_element("托管").click() self.game_page.screenshot("第%s次托管玩牌.png" % i) while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") while self.game_page.element_is_exist("继续游戏", 1): self.game_page.screenshot("第%s次玩牌结算.png" % i) while self.game_page.element_is_exist("QQ分享", 1): self.luadriver.keyevent(4) while self.game_page.element_is_exist("破产气泡"): self.game_page.screenshot("癞子场破产气泡.png") return try: string = "赢取达到携带金币上限" string in self.game_page.wait_element( "赢取达到携带金币上限").get_attribute("text") self.game_page.screenshot("赢取达到携带金币上限气泡.png") return except: self.log_info("未出现气泡") self.game_page.wait_element("继续游戏").click() while self.game_page.element_is_exist("去底倍场", 1): self.game_page.screenshot("第%s次玩牌提示去底倍场.png" % i) self.game_page.wait_element("去底倍场").click() i += 1 def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.play_game() self.level_page.screenshot("破产界面.png") try: self.assert_equal( "检查是否出现立即购买", self.level_page.wait_element("立即购买文本").get_attribute("text") == "立即购买") except: self.log_info("未出现此按钮") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class C31048_DFQP_Safebox3(TestCase): ''' 保险箱金币数为0时取款 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() # global user_info # user_info = self.common.get_user() # print user_info # 初始化Luadriver self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.start_step("关闭活动,并切换到预发布") 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() time.sleep(3) self.safebox_page.wait_element('金条保险箱').click() time.sleep(3) self.safebox_page.wait_element("取出").click() time.sleep(3) Safebox_info = PHPInterface.get_safebox(mid) crystal_saving = Safebox_info.get('crystalsafebox') if crystal_saving > 0: self.start_step("将金条取出保险箱") self.common.swipeelement( self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目")) time.sleep(3) self.safebox_page.wait_element('确定---保险箱').click() time.sleep(3) user_info1 = PHPInterface.get_user_info(mid) # 获取玩家信息 crystal = json.loads(user_info1).get('result', { 'crystal': None }).get('crystal') # 获取当前金条值 if crystal > 200: AddMoney = 100 - crystal PHPInterface.add_money(mid, AddMoney) self.luadriver.keyevent(4) self.common.closeactivity_switchserver(self.luadriver) self.hall_page.wait_element('保险箱').click() time.sleep(3) self.safebox_page.wait_element("取出").click() self.safebox_page.screenshot('1.png') self.safebox_page.wait_element("存入").click() time.sleep(1) self.safebox_page.screenshot('2.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.release_user(user_info['mid']) # self.common.deletefile(self.luadriver) self.common.closedriver()
class D25694_LaiziRoom_Setting(TestCase): ''' 房间内设置 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.start_step("开始玩牌") self.game_page.wait_element("开始").click() self.start_step("叫地主") while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") if self.game_page.element_is_exist("继续游戏", 1): break self.start_step("设置屏蔽聊天,查看设置结果") self.game_page.wait_element("设置").click() self.game_page.wait_element("屏蔽聊天").click() booltext = self.game_page.wait_element("屏蔽聊天").get_attribute( 'selected') self.game_page.wait_element("设置").click() self.game_page.wait_element("聊天").click() self.game_page.wait_element("常用语聊天列表").click() self.game_page.wait_element("聊天").click() self.game_page.wait_element("常用语聊天列表").click() if booltext == 'false': self.start_step("设置为非屏蔽聊天后的效果") self.game_page.screenshot("设置为非屏蔽聊天后截图.png") else: self.start_step("设置为屏蔽聊天后的效果") self.game_page.screenshot("设置为屏蔽聊天后截图.png") self.start_step("恢复") self.game_page.wait_element("设置").click() self.game_page.wait_element("屏蔽聊天").click() self.game_page.wait_element("设置").click() self.start_step("设置屏蔽连发表情,查看设置结果") self.game_page.wait_element("设置").click() self.game_page.wait_element("屏蔽连发表情").click() booltext1 = self.game_page.wait_element("屏蔽连发表情").get_attribute( 'selected') self.game_page.wait_element("设置").click() self.game_page.wait_element("玩家头像").click() self.game_page.wait_element("连发十次互动表情").click() if booltext1 == 'false': # self.start_step("设置为非屏蔽连发表情后的效果") self.game_page.screenshot("设置为非屏蔽连发表情后截图.png", sleeptime=0) else: # self.start_step("设置为屏蔽连发表情后的效果") self.game_page.screenshot("设置为屏蔽连发表情后截图.png", sleeptime=0) self.start_step("恢复") self.game_page.wait_element("设置").click() self.game_page.wait_element("设置").click() self.game_page.wait_element("屏蔽连发表情").click() self.game_page.wait_element("设置").click() self.start_step("托管") if self.game_page.element_is_exist("机器人") == False: self.game_page.wait_element("托管").click() while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") self.game_page.screenshot("结算界面.png") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class D25706_LaiziRoom_Network_Reconnect(TestCase): ''' 房间内玩牌断线重回 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("进入房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.start_step("开始玩牌") self.game_page.wait_element("开始").click() starttime = time.time() while self.game_page.element_is_exist("正在配桌中"): time.sleep(1) self.log_info("正在配桌中,等待") endtime = time.time() time.sleep(3) try: self.game_page.wait_element("换桌").click() except: self.log_info("换桌失败") if (endtime - starttime) / 60 > self.timeout - 5: self.game_page.is_in_gameroom(self.luadriver) self.log_info("等待超时") return self.start_step("叫地主") while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") if self.game_page.element_is_exist("继续游戏", 1): break self.start_step("重连") self.game_page.screenshot("断开网络前.png") self.start_step("断开网络") self.common.switchnetwork(self.luadriver, u"无网络") self.game_page.screenshot("断开网络时.png") self.start_step("重新连接网络") self.common.switchnetwork(self.luadriver, u"WIFI模式") self.common.network_connect() time.sleep(5) self.game_page.screenshot("重新连接网络.png") self.start_step("重新进入癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() try: self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() except: self.log_info("已进入房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() if (self.game_page.element_is_exist("立即领取", 1) or self.game_page.element_is_exist("立即购买", 1)): self.game_page.screenshot("重新进入游戏时破产了.png") return self.game_page.screenshot("重新连接网络并进入癞子场.png") while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") if self.game_page.element_is_exist("开始", 1): break if self.game_page.element_is_exist("立即购买", 1): break if self.game_page.element_is_exist("机器人", 1) == False: self.game_page.wait_element("托管").click() self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class C31053_DFCP_Mall_Interface_GetPro(TestCase): ''' 金条购买银币 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): self.common = Common() # global user_info # user_info = self.common.get_user() # print user_info self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.mall_page = Mall_Page() self.sign_page = Sign_Page() self.backpack_page = Backpack_Page() self.personinfo_page = Personinfo_Page() self.common.closeactivity_switchserver(self.luadriver) # time.sleep(1) self.start_step("获取账号mid") cid = self.common.get_cid() global mid mid = PHPInterface.get_mid(cid, region=1) print "用户mid为:%s" % mid # UserID = user_info.get('mid') # print 'UserID:%s' % UserID dict = PHPInterface.get_user_info(mid) # 获取玩家信息 crystal = eval(dict).get('result', { 'crystal': None }).get('crystal') # 获取当前金条值 #初始化银币 coin = eval(dict).get('result', {'coin': None}).get('coin') # 获取当前银币值 AddMoney = 20000 - int(coin) print AddMoney PHPInterface.add_money(mid, AddMoney) # 将设置银币值 AddCrystal = 450 - crystal PHPInterface.add_crystal(mid, AddCrystal) # 将金条数目置1400 # self.hall_page.wait_element("预发布").click() # time.sleep(15) # self.common.closeActivityBtn() self.common.closeactivity_switchserver(self.luadriver) # 每个用例都需要关闭活动,把这个放在初始化里面实现 # self.common.closeactivitytest(self.luadriver) # self.hall_page.wait_element("头像").click() # time.sleep(2) # if self.personinfo_page.wait_element("账号ID").get_attribute('text') != user_info['cid']: # self.common.loginuser(user_info['user'], user_info['password']) # try: # self.personinfo_page.wait_element("关闭").click() # except: # print "已关闭窗口" def run_test(self): self.start_step("等待页面加载完成") self.start_step("进入商城页面") self.hall_page.wait_element("商城").click() time.sleep(4) self.mall_page.wait_element("银币页签").click() time.sleep(2) self.start_step("购买道具") time.sleep(4) try: self.hall_page.wait_element("立即升级绑定账号").click() time.sleep(3) self.sign_page.wait_element("关闭1").click() time.sleep(4) except: print "未出现立即升级绑定账号按钮" self.mall_page.wait_element("银币购买1").click() time.sleep(5) while (self.hall_page.element_is_exist("立即升级绑定账号")): self.sign_page.wait_element("关闭1").click() while (self.mall_page.element_is_exist("银币页面购买") == False): self.mall_page.wait_element("银币购买1").click() self.mall_page.wait_element("银币页面购买").click() time.sleep(5) self.hall_page.screenshot('buy.png') def post_test(self): try: dict = PHPInterface.get_user_info(mid) # 获取玩家信息 crystal = eval(dict).get('result', { 'crystal': None }).get('crystal') # 获取当前金条值 coin = eval(dict).get('result', { 'coin': None }).get('coin') # 获取当前银币值 AddCrystal = 100 - crystal AddMoney = 20000 - int(coin) PHPInterface.add_money(mid, AddMoney) # 将设置银币值 PHPInterface.add_crystal(mid, AddCrystal) # 将金条数目置1000 except: self.log_info("初始化银币金条报错") try: self.common.closedriver() except: self.log_info("close driver fail") finally: self.common.release_user(mid)
class D25688_LaiziRoom_InAndOut(TestCase): ''' 金币足够进入房间 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 20 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.game_page.wait_element("倍数说明") self.game_page.screenshot("第一次进房间.png") self.start_step("点击退出键退出房间") i = 0 while self.game_page.element_is_exist("退出", 1): self.game_page.wait_element("退出").click() i += 1 self.log_info("点击退出次数:%s" % i) self.level_page.wait_element("同步标志") self.hall_page.screenshot("点击退出键退出房间.png") self.level_page.wait_element("房间列表").click() self.game_page.wait_element("倍数说明") self.game_page.screenshot("第二次进房间.png") self.start_step("点击物理返回键退出房间") while self.game_page.element_is_exist("同步标志", 1): self.luadriver.keyevent(4) time.sleep(4) self.log_info("点击物理返回键") self.level_page.wait_element("同步标志", 30) self.hall_page.screenshot("物理返回键退出房间.png") self.level_page.wait_element("房间列表").click() self.game_page.wait_element("倍数说明") self.game_page.screenshot("第三次进房间.png") self.start_step("点击开始按钮") self.game_page.wait_element("开始", 30).click() self.hall_page.screenshot("点击开始按钮.png") i = 0 while self.game_page.element_is_exist("退出", 1): self.game_page.wait_element("退出").click() i += 1 self.log_info("点击退出次数:%s" % i) if i > 5: while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "不加倍", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") if self.game_page.element_is_exist("继续游戏", 1): break self.start_step("托管") if self.game_page.element_is_exist("机器人") == False: self.game_page.wait_element("托管").click() while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class C234_DFQP_Safebox(TestCase): ''' 银币取款操作-玩家持有银币现金小于2w,且保险箱没有钱,点击+-按钮及拖动滚动条,银币数量不改变 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.common.closeactivitytest(self.luadriver) self.hall_page.wait_element("头像").click() time.sleep(5) if self.personinfo_page.wait_element("账号ID").get_attribute( 'text') != self.casedata['cid']: self.common.loginuser(self.casedata['user'], self.casedata['password']) 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.hall_page.wait_element('保险箱').click() Flag = True while Flag: # 将保险箱中的银币存款值置0 self.safebox_page.wait_element('减少金条/银条数目').click() savings = self.safebox_page.wait_element('存款').get_attribute( 'text') if int(savings) == 0: self.safebox_page.wait_element('确定---保险箱').click() Flag = False time.sleep(5) UserID = self.casedata.get('mid') print 'UserID:%s' % UserID dict = PHPInterface.get_user_info(UserID) # 获取玩家信息 coin = eval(dict).get('result', {'coin': None}).get('coin') # 获取当前银币值 print coin if coin > 20000 or coin < 3000: AddMoney = 13000 - coin # 如果当前银币多于20000或少于3000,则将银币值设置为13000 PHPInterface.add_money(UserID, AddMoney) self.common.closeactivitytest( self.luadriver) #后台修改银币数量不会马上生效,故再次点击测试服按钮更新 self.start_step('进入保险箱页面') self.hall_page.wait_element('保险箱').click() self.start_step('获取当前银币值') coin = self.safebox_page.wait_element('现金').get_attribute('text') print type(coin) print '当前银币值:%s' % coin self.start_step('点击-按钮') self.safebox_page.wait_element('减少金条/银条数目').click() self.start_step('获取点击-按钮后的银币值') coin1 = self.safebox_page.wait_element('现金').get_attribute('text') print '点击-按钮后的银币值:%s' % coin1 if coin1 == coin: print '银币数量未变' else: print '银币数量改变' self.start_step('点击+按钮') self.safebox_page.wait_element('增加金条/银条数目').click() self.start_step('获取点击+按钮后的银币值') coin2 = self.safebox_page.wait_element('现金').get_attribute('text') print '点击+按钮后的银币值:%s' % coin2 if coin2 == coin1: print '银币数量未变' else: print '银币数量改变' slider = self.safebox_page.wait_element('滑动条') x = slider.location['x'] # slider x坐标 y = slider.location['y'] # slider y坐标 d = slider.size['width'] # slider.swipe(x,y,x+d/2,y) self.start_step('点击滚动条') self.luadriver.swipe(x + d, y, x, y) self.start_step('获取点击滚动条后的银币值') coin3 = self.safebox_page.wait_element('现金').get_attribute('text') print '点击滚动条后的银币值:%s' % coin3 if coin3 == coin2: print '银币数量未变' else: print '银币数量改变' self.start_step('点击确定') self.safebox_page.wait_element('确定---保险箱').click() self.personinfo_page.screenshot('.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C236_DFQP_Safebox(TestCase): ''' 银币取款操作-保险箱有存款,直接点击确定,银币数量不变 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): UserID = self.casedata.get('mid') print 'UserID:%s' % UserID dict = PHPInterface.get_user_info(UserID) # 获取玩家信息 coin = eval(dict).get('result', {'coin': None}).get('coin') # 获取当前银币值 if coin <= 20000: AddMoney = 23000 - coin # 如果当前银币不多于20000,则将银币值设置为23000 PHPInterface.add_money(UserID, AddMoney) self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.common.closeactivitytest(self.luadriver) self.hall_page.wait_element("头像").click() time.sleep(5) if self.personinfo_page.wait_element("账号ID").get_attribute( 'text') != self.casedata['cid']: self.common.loginuser(self.casedata['user'], self.casedata['password']) 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.hall_page.wait_element('保险箱').click() self.start_step('点击+按钮') self.safebox_page.wait_element('增加金条/银条数目').click() #确保有存款 self.start_step('点击确定') self.safebox_page.wait_element('确定---保险箱').click() self.hall_page.wait_element('保险箱').click() self.start_step('获取当前银币值,存款值') coin = self.safebox_page.wait_element('现金').get_attribute('text') savings = self.safebox_page.wait_element('存款').get_attribute('text') print type(coin) print '当前银币值,存款值:%s,%s' % (coin, savings) self.start_step('点击确定') self.safebox_page.wait_element('确定---保险箱').click() self.personinfo_page.screenshot('.png') self.start_step('获取点击【确定】后的银币值,存款值') coin1 = self.safebox_page.wait_element('现金').get_attribute('text') savings1 = self.safebox_page.wait_element('存款').get_attribute('text') print '点击【确定】后的银币值,存款值:%s,%s' % (coin1, savings1) if coin1 == coin and savings1 == savings: print '银币值未变,存款值未变' else: print '银币值改变,存款值改变' def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C31154_DFQP_GameRoom_Agenda(TestCase): ''' 子游戏房间列表---点击今日赛程 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() #初始化luadriver print("pre_test") self.luadriver = self.common.setupdriver() self.common.closeactivity_switchserver(self.luadriver) self.hall_page = Hall_Page() self.match_page = Match_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") time.sleep(5) self.start_step("点击血战到底:") if (self.common.game_is_exist("血战到底") == True): self.game_page.wait_element("血战到底").click() time.sleep(3) self.common.game_is_download() time.sleep(2) self.start_step("点击今日赛程按钮") self.match_page.wait_element("今日赛程").click() time.sleep(3) self.match_page.screenshot("1.png") time.sleep(3) if (self.match_page.element_is_exist("比赛详情1") == True): self.match_page.wait_element("比赛详情1").click() time.sleep(3) self.match_page.screenshot("2.png") self.match_page.wait_element("关闭").click() time.sleep(2) self.luadriver.keyevent(4) time.sleep(2) else: print("无赛程") self.luadriver.keyevent(4) time.sleep(2) else: print("没有血战到底游戏") self.game_page.wait_element("左三角标").click() def post_test(self): ''' 测试用例执行完后,清理测试环境 ''' # self.common.deletefile(self.luadriver) 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 C31153_DFQP_FriendRoom_Match(TestCase): ''' 子游戏列表跳转约牌房和比赛场 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 def pre_test(self): # 初始化Luadriver self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() # 关闭弹框 self.common.closeactivity_switchserver(self.luadriver) self.hall_page = Hall_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例---跳转约牌房和比赛场 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") time.sleep(3) self.start_step("点击大厅首页的子游戏") self.start_step("获取子游戏列表") game_list = self.common.get_game_list() for i in range(len(game_list)): game_list[i].click() time.sleep(5) self.common.game_is_download() time.sleep(2) if (self.game_page.element_is_exist("约牌按钮") == True): self.game_page.get_element( "约牌按钮").click() # 不存在约牌和比赛按钮时,会点击不准确 time.sleep(3) print("进入约牌房") self.game_page.wait_element("返回1").click() time.sleep(3) else: print("无约牌房") if (self.game_page.element_is_exist("子游戏比赛按钮") == True): self.game_page.get_element("子游戏比赛按钮").click() time.sleep(3) print("进入比赛") self.game_page.wait_element("比赛场返回").click() time.sleep(3) else: print("无比赛") self.game_page.wait_element("返回").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() time.sleep(4) self.start_step("获取第二页的子游戏") game_list1 = self.common.get_game_list() for i in range(len(game_list1)): game_list1[i].click() time.sleep(5) self.common.game_is_download() time.sleep(2) if (self.game_page.element_is_exist("约牌按钮") == True): self.game_page.get_element( "约牌按钮").click() # 不存在约牌和比赛按钮时,会点击不准确 time.sleep(3) print("进入约牌房") self.game_page.wait_element("返回1").click() time.sleep(3) else: print("无约牌房") if (self.game_page.element_is_exist("子游戏比赛按钮") == True): self.game_page.get_element("子游戏比赛按钮").click() time.sleep(3) print("进入比赛") self.game_page.wait_element("比赛场返回").click() time.sleep(3) else: print("无比赛") self.game_page.wait_element("返回").click() def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.deletefile(self.luadriver) self.common.closedriver()
class C31166_DFQP_GameRoom4(TestCase): ''' 游戏房间内---牌局未开启时聊天 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() # 关闭弹框 self.common.closeactivity_switchserver(self.luadriver) self.hall_page = Hall_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例 ''' self.start_step("点击血战到底:") if (self.common.game_is_exist("血战到底") == True): self.game_page.wait_element("血战到底").click() time.sleep(3) self.common.game_is_download() time.sleep(2) self.game_page.wait_element("快速开始").click() time.sleep(3) self.start_step("点击聊天按钮") self.game_page.wait_element("房间聊天按钮").click() time.sleep(3) self.game_page.screenshot("1.png") self.game_page.wait_element("表情").click() time.sleep(2) elements = self.game_page.get_elements("VIP表情1") print len(elements) if (self.game_page.is_exist("普通表情1") == True): self.game_page.wait_element("普通表情1").click() time.sleep(2) self.game_page.screenshot("2.png") else: self.game_page.wait_element("VIP表情1").click() time.sleep(2) self.game_page.screenshot("2.png") self.game_page.wait_element("房间聊天按钮").click() time.sleep(3) self.game_page.wait_element("常用").click() self.game_page.screenshot("3.png") self.game_page.wait_element("常用1").click() time.sleep(2) self.luadriver.keyevent(4) time.sleep(2) # self.game_page.wait_element("菜单").click() # time.sleep(2) # self.game_page.wait_element("退出").click() # time.sleep(3) self.game_page.wait_element("返回").click() else: print("没有血战到底游戏") self.game_page.wait_element("左三角标").click() def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.deletefile(self.luadriver) self.common.closedriver()
class C31162_DFQP_GameRoom2(TestCase): ''' 游戏房间---菜单栏功能 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() # 关闭活动弹框 self.common.closeactivity_switchserver(self.luadriver) self.hall_page = Hall_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.start_step("点击血战到底:") if (self.common.game_is_exist("血战到底") == True): self.game_page.wait_element("血战到底").click() time.sleep(3) self.common.game_is_download() time.sleep(2) self.game_page.wait_element("快速开始").click() time.sleep(3) self.start_step("点击菜单") time.sleep(3) self.game_page.wait_element("菜单").click() time.sleep(2) self.game_page.screenshot('1.png') self.start_step("点击设置") self.game_page.wait_element("设置").click() self.game_page.screenshot("2.png") time.sleep(3) self.game_page.wait_element("关闭对话框").click() time.sleep(3) self.start_step("点击托管") self.game_page.wait_element("菜单").click() time.sleep(2) self.game_page.wait_element("托管").click() time.sleep(3) self.game_page.screenshot("3.png") self.start_step("点击商城") self.game_page.wait_element("商城").click() time.sleep(3) self.game_page.screenshot("4.png") # self.game_page.wait_element("关闭对话框").click() self.luadriver.keyevent(4) time.sleep(2) self.game_page.wait_element("菜单").click() time.sleep(2) self.start_step("点击取款") self.game_page.wait_element("取款").click() self.game_page.screenshot("5.png") time.sleep(2) self.game_page.wait_element("关闭对话框").click() time.sleep(2) # self.game_page.wait_element("菜单").click() # time.sleep(2) # self.game_page.wait_element("退出房间").click() self.luadriver.keyevent(4) time.sleep(3) self.game_page.wait_element("返回").click() else: print("没有血战到底游戏") self.game_page.wait_element("左三角标").click() def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.deletefile(self.luadriver) self.common.closedriver()
class C31034_DFCP_Backpack_GetPro(TestCase): ''' 购买道具,商城购买道具,查看物品箱 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): self.common = Common() # global user_info # user_info = self.common.get_user() # print user_info self.hall_page = Hall_Page() self.mall_page = Mall_Page() self.sign_page = Sign_Page() self.backpack_page = Backpack_Page() self.personinfo_page = Personinfo_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.start_step("关闭活动") self.common.closeactivity_switchserver(self.luadriver) self.start_step("获取用户mid") cid = self.common.get_cid() mid = PHPInterface.get_mid(cid, region=1) print "用户mid为:%s" % mid user_info1 = PHPInterface.get_user_info(mid) # 获取玩家信息 coin = json.loads(user_info1).get('result', {'coin': None}).get('coin') # 获取当前银币值 AddMoney = 53000 - coin PHPInterface.add_money(mid, AddMoney) # 将银币值设为3000 PHPInterface.add_money(mid, 53000) self.hall_page.wait_element("头像").click() time.sleep(2) def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('Backpack_Enterpack1.png') self.luadriver.keyevent(4) self.start_step("进入商城页面") self.hall_page.wait_element("商城").click() time.sleep(2) self.mall_page.wait_element("道具页签").click() time.sleep(2) self.start_step("购买道具") self.mall_page.wait_element("提示卡").click() time.sleep(5) self.sign_page.wait_element("购买").click() time.sleep(3) self.mall_page.wait_element("返回").click() time.sleep(3) self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('buy.png') def post_test(self): # self.common.release_user(user_info['mid']) # self.common.deletefile(self.luadriver) self.common.closedriver()
class C240_DFQP_Safebox(TestCase): ''' 金条取款操作-玩家持有金条大于200,且保险箱没有钱,点击+-按钮,操作存取款 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.common.closeactivitytest(self.luadriver) self.hall_page.wait_element("头像").click() time.sleep(5) if self.personinfo_page.wait_element("账号ID").get_attribute( 'text') != self.casedata['cid']: self.common.loginuser(self.casedata['user'], self.casedata['password']) 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.hall_page.wait_element('保险箱').click() self.safebox_page.wait_element('金条-老').click() Flag = True while Flag: # 将保险箱中的金条存款值置0 self.safebox_page.wait_element('减少金条/银条数目').click() savings = self.safebox_page.wait_element('存款').get_attribute( 'text') if int(savings) == 0: self.safebox_page.wait_element('确定---保险箱').click() Flag = False time.sleep(5) UserID = self.casedata.get('mid') print 'UserID:%s' % UserID dict = PHPInterface.get_user_info(UserID) # 获取玩家信息 crystal = eval(dict).get('result', { 'crystal': None }).get('crystal') # 获取当前金条值 AddCrystal = 1000 - crystal PHPInterface.add_crystal(UserID, AddCrystal) # 将金条数目置1000 self.common.closeactivitytest(self.luadriver) self.start_step('进入保险箱页面') self.hall_page.wait_element('保险箱').click() self.safebox_page.wait_element('金条-老').click() self.start_step('获取当前金条值,存款值') coin = self.safebox_page.wait_element('现金').get_attribute('text') savings = self.safebox_page.wait_element('存款').get_attribute('text') print type(coin) print '当前金条值,存款值:%s,%s' % (coin, savings) self.start_step('点击-按钮') self.safebox_page.wait_element('减少金条/银条数目').click() self.start_step('获取点击-按钮后的金条值') coin1 = self.safebox_page.wait_element('现金').get_attribute('text') savings1 = self.safebox_page.wait_element('存款').get_attribute('text') print '点击-按钮后的金条值,存款值:%s,%s' % (coin1, savings1) if coin1 == coin and savings1 == savings: print '金条值未变,存款值未变' else: print '金条值改变,存款值改变' self.start_step('点击+按钮') self.safebox_page.wait_element('增加金条/银条数目').click() self.start_step('获取点击+按钮后的金条值') coin2 = self.safebox_page.wait_element('现金').get_attribute('text') savings2 = self.safebox_page.wait_element('存款').get_attribute('text') print '点击+按钮后的金条值,存款值:%s,%s' % (coin2, savings2) if coin2 == coin1 and savings2 == savings1: print '金条值未变,存款值未变' else: print '金条值改变,存款值改变' self.safebox_page.wait_element('确定---保险箱').click() time.sleep(1) self.personinfo_page.screenshot('.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class C31036_DFQP_Backpack_Sendpro(TestCase): ''' 私信发送道具,鲜花 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.start_step("初始化环境") self.common = Common() global user_info user_info = self.common.get_user() print user_info self.message_page = Message_Page() self.hall_page = Hall_Page() self.personinfo_page = Personinfo_Page() self.backpack_page = Backpack_Page() self.start_step("接口交互道具私信") self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.start_step("关闭活动页面") self.common.closeactivity_switchserver(self.luadriver) # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV) print user_info['mid'] return1 = PHPInterface.send_message(int(user_info['mid']), "接口交互道具私信","接口交互道具私信",200,1,0) print return1 self.start_step("判断是否登陆") if not self.common.isloginuser(self.luadriver): self.common.loginuser(user_info['user'], user_info['password']) self.common.closeActivityBtn() else: if self.personinfo_page.wait_element("账号ID").get_attribute('text') != user_info['cid']: self.common.loginuser(user_info['user'], user_info['password']) self.common.closeActivityBtn() try: self.personinfo_page.wait_element("关闭").click() except: print "已关闭窗口" def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('Backpack_Enterpack2.png') self.luadriver.keyevent(4) time.sleep(4) self.start_step("进入消息页面") self.hall_page.wait_element("消息").click() time.sleep(2) self.start_step("查看消息") try: try: element = self.message_page.get_elements("小琪妹") element[1].click() except: self.message_page.wait_element("小琪妹").click() time.sleep(3) self.message_page.screenshot('getcalls1.png') self.message_page.wait_element("立即领取").click() time.sleep(3) self.message_page.screenshot('getcalls2.png') self.message_page.wait_element("知道了").click() time.sleep(2) self.message_page.wait_element('已领取').get_attribute('text') == "已领取" except: print ("没有消息") time.sleep(3) self.hall_page.wait_element("头像").click() time.sleep(3) self.hall_page.wait_element("头像").click() self.hall_page.wait_element("同步标志") self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('Backpack_Enterpack2.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' try: self.common.deletefile(self.luadriver) self.common.closedriver() except: self.log_info("close driver fail") finally: self.common.release_user(user_info['mid'])
class C241_DFQP_Safebox(TestCase): ''' 金条取款操作-保险箱有金条存款,不操作+-按钮,直接点击确认 ''' owner = "YoungLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): UserID = self.casedata.get('mid') print 'UserID:%s' % UserID dict = PHPInterface.get_user_info(UserID) # 获取玩家信息 crystal = eval(dict).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.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.common.closeactivitytest(self.luadriver) self.hall_page.wait_element("头像").click() time.sleep(5) if self.personinfo_page.wait_element("账号ID").get_attribute( 'text') != self.casedata['cid']: self.common.loginuser(self.casedata['user'], self.casedata['password']) 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.hall_page.wait_element('保险箱').click() self.safebox_page.wait_element('金条-老').click() Flag = True while Flag: # 使保险箱中的金条存款不为0 savings = self.safebox_page.wait_element('存款').get_attribute( 'text') if int(savings) > 0: Flag = False else: self.safebox_page.wait_element('增加金条/银条数目').click() self.safebox_page.wait_element('确定---保险箱').click() self.start_step('进入保险箱页面') self.hall_page.wait_element('保险箱').click() self.safebox_page.wait_element('金条-老').click() self.safebox_page.wait_element('确定---保险箱').click() self.personinfo_page.screenshot('.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' self.common.closedriver()
class kick_base(TestCase): ''' 房间内踢人脚本基类 ''' owner = "JessicZeng" status = EnumStatus.Design priority = EnumPriority.High timeout = 30 global mid global kickCard_cnt #各游戏对应id 203:斗地主,20:干瞪眼,7:血流成河, 2002:双扣 23:拖三批(七人焖鸡、斗鸡) # 2601:葫芦岛麻将 2603:K十五 25:升级 3:斗牛 #20:预发布环境有不能正常玩牌的子游戏,不进行测试 #23、3:每局游戏时间太短不足以操作玩家头像 global global_black_list global_black_list = ["game20", "game23", "game3"] # 为True,本地调试时不执行关闭活动弹框逻辑 global isDebug isDebug = False def pre_test(self): self.start_step("初始化环境") self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.yuepai_page = Yuepai_Page() self.backpack_page = Backpack_Page() self.start_step("初始化driver") global mid mid = self.common.get_config_value("casecfg", "mid") self.luadriver = self.common.setupdriver() if isDebug != True: self.common.closeactivity(self.luadriver) else: time.sleep(10) def wait_login_suc(self): '''等待大厅登录成功标志加载完成''' end_time = time.time() + 120 while True: try: if self.hall_page.element_is_exist("登录成功标志", 1): self.common.platformLog("大厅登录成功") return True elif self.hall_page.element_is_exist("重连游戏", 1): self.hall_page.get_element("重连游戏").click() time.sleep(2) elif self.hall_page.element_is_exist("重新登陆", 1): self.hall_page.get_element("重新登陆").click() time.sleep(2) except: self.common.platformLog("等待大厅登录成功过程中,获取元素失败") return False if time.time() > end_time: self.common.platformLog("大厅未在指定时间内登录成功") return False def changeServer(self): ''' 子游戏返回列表后通过切换环境,来确保每次都重新登录 避免某些接口设置不生效 默认从正式环境切换到当前测试环境 :return: ''' try: self.hall_page.wait_element("正式服").click() self.common.closeactivity(self.luadriver) except: print "切换到正式服失败" self.common.switchserver() self.common.closeactivity(self.luadriver) def set_PlayerData(self, VIPType, kickCnt): ''' 设置玩家VIP及踢人卡数量,由于有界面操作 只能放在进入大厅成功后调用 :param VIPCnt: 是否有VIP :param kickCnt: 踢人卡张数 踢人卡id为36 None:则是不设置踢人卡数量 :return: ''' self.start_step("设置玩家数据") if PHPInterface.set_vip(mid, VIPType) == 0: self.common.platformLog("接口设置VIP信息失败") return False else: self.common.platformLog("设置VIP状态成功") #目前道具接口有问题,设置为0 会返回失败 当设置数量为0时,强制返回True status = False if PHPInterface.add_props(mid, 36, kickCnt) == 0 and kickCnt != 0: self.common.platformLog("设置踢人卡数量失败") status = False else: global kickCard_cnt kickCard_cnt = kickCnt status = True self.common.platformLog("测试开始前设置被测玩家初始数据", mid, VIPType, kickCnt, "设置VIP和踢人卡结果:", status) return status def check_player_data(self, VIPType, kickCnt): ''' 检测当前用户数据是否与设置一致,若不一致则切换测试环境来刷新用户数据 :param VIPType: :param kickCnt: :return: ''' need_change = False if (VIPType in [4, 5, 6] and self.hall_page.element_is_exist("vip标识", 1)): #有VIP标识 pass elif (VIPType == -1 and self.hall_page.element_not_exist("vip标识", 1)): #无VIP标识 pass else: need_change = True if need_change == False and kickCnt != self.get_KickCnt(): need_change = True if need_change == True: self.changeServer() if self.wait_login_suc(): self.common.platformLog("切换测试环境后,大厅登录成功") return True else: self.common.platformLog("切换测试环境后,大厅登录失败") return False else: self.common.platformLog("玩家VIP和踢人卡数量正确,不需切换环境") return True def wait_in_game(self): ''' 等待牌局开始,超过60s 则返回失败,停止后续测试操作 :param gamePage 避免重复new :return: True:牌局中 False:未在牌局中 ''' gamePage = Game_Page() cnt = 0 isIn = False while cnt < 30: if self.el_not_exist(gamePage, "房间标志"): isIn = False break if self.el_not_exist(gamePage, "换桌") and self.el_not_exist( gamePage, "准备"): isIn = True print "牌局已经开始" break cnt += 1 time.sleep(1) self.common.platformLog("牌局是否进行中:", isIn) return isIn def el_not_exist(self, page, el_name): ''' 判断元素不存在 :param element: ''' try: if (page.get_element(el_name) == None): return True else: return False except: return True def set_Robot(self, gameid, basechiptype=0, playmode=1, roomlevel=1, robotflag=0): #七人焖鸡默认的七人玩法,对应的playmod是3 其余游戏均为0 if gameid == '23': playmode = 3 return PHPInterface.set_robot_flag(gameid, basechiptype, playmode, roomlevel, robotflag) def get_KickCnt(self): ''' :return: 踢人卡张数 默认为None 表示获取踢人卡失败 ''' self.start_step("获取玩家物品箱踢人卡数量") self.common.platformLog("开始获取踢人卡*************") kick_cnt = 0 try: self.hall_page.get_element("物品箱").click() self.backpack_page.wait_element("物品箱同步标志") item_namesEl = self.backpack_page.get_elements("item名称") item_cntsEl = self.backpack_page.get_elements("item数量") # 获取两个元素列表成功 index = 0 for el in item_namesEl: if el.get_attribute('text') == "踢人卡": kick_cnt = int(item_cntsEl[index].get_attribute('text')) break index += 1 except: self.common.platformLog("打开物品箱获取踢人卡数量失败") finally: self.common.checkPopVisible(self.luadriver, self.backpack_page) self.hall_page.wait_element("同步标志") self.common.platformLog("从物品箱获取到的踢人卡数量", kick_cnt) return kick_cnt def loop_GameList(self, testFunc, isNext, VIPType, kickCnt, def_black_list=None): game_list = self.game_page.get_game_list() for gameElement in game_list: try: gameId = gameElement.get_attribute("name") self.common.platformLog("当前测试子游戏:", gameId) #判断该子游戏是否是可测游戏 if def_black_list != None: black_list = def_black_list else: black_list = global_black_list if black_list != None and gameId in black_list: self.common.platformLog(gameId, "该子游戏不符合用例前置条件,不进行测试") continue #若从子游戏返回大厅后登录大厅失败,结束测试 if self.wait_login_suc(): self.common.platformLog("登录大厅成功") else: self.assert_equal("登录大厅失败,停止后续所有测试步骤", True, False) self.hall_page.screenshot("登录大厅失败.png") break #根据条件设置玩家数据 global kickCard_cnt if self.set_PlayerData(VIPType, kickCnt) == False: self.assert_equal(gameId + "设置玩家VIP信息失败", True, False) continue else: time.sleep(2) self.hall_page.wait_element("可点击标志", 2).click() time.sleep(1) if self.check_player_data(VIPType, kickCnt) == False: self.assert_equal(gameId + "玩家数据不匹配切换环境后,登录失败,退出该用例测试", True, False) break if isNext and self.hall_page.element_is_exist("右三角", 3): self.hall_page.get_element("右三角").click() time.sleep(1) self.common.platformLog("点击大厅子游戏入口") time.sleep(1) gameElement.click() if (self.game_page.game_is_download() == False): self.log_info("下载游戏ID:%s 失败" % gameId) self.game_page.screenshot(gameId + "_下载子游戏失败.png") try: self.hall_page.wait_element("关闭对话框").click() except: self.common.platformLog("关闭弹框") continue self.start_step("开启机器人") if self.set_Robot( re.search('\d+', gameId).group(), 0, 0, 12, 1): self.common.platformLog("开始机器人成功") else: self.assert_equal(gameId + "开启机器人失败", True, False) return 0 try: self.start_step("点击入口进入房间") if self.game_page.element_is_exist("新房间类型", 2): gameType_Els = self.game_page.get_elements("新房间类型") gameType_Els[0].click() elif self.game_page.element_not_exist("广播", 2): gameType_tabEls = self.game_page.game_play_way() gameType_tabEls[0][1].click() # 确保进入的是普通场 #点击房间场次,进入房间 if self.game_page.element_is_exist("新初级场场次", 2): self.game_page.get_element("新初级场场次").click() elif self.game_page.element_is_exist("房间场次", 2): self.game_page.get_element("房间场次").click() except: self.assert_equal(gameId + "大厅进入房间失败", True, False) self.game_page.screenshot(game_id + "_大厅进入房间失败" + ".png") try: self.start_step("开始具体子游戏操作:" + gameId) testFunc(gameId) except: self.game_page.screenshot(game_id + "_房间内操作子游戏失败" + ".png") self.assert_equal(gameId + "房间内操作子游戏失败", True, False) except: self.assert_equal(gameId + "子游戏循环操作失败", True, False) finally: while True: if self.hall_page.element_is_exist("排行榜", 5): break self.luadriver.back() def run_test_base(self, stepFunc, VIPType, kickCnt, def_black_list=None): ''' :param VIPType: VIP类型 :param kickCnt: 踢人卡数量 :param stepFunc: 具体测试步骤方法 :param def_black_list: 自定义子游戏黑名单 :return: ''' self.start_step("等待页面加载完成") # 若从子游戏返回大厅后登录大厅失败,结束测试 if self.wait_login_suc(): self.common.platformLog("run_test_base登录大厅成功") else: self.assert_equal("run_test_base登录大厅失败,停止后续所有测试步骤", True, False) self.hall_page.screenshot("登录大厅失败.png") return 0 time.sleep(8) self.loop_GameList(stepFunc, False, VIPType, kickCnt, def_black_list) try: self.hall_page.wait_element("右三角").click() time.sleep(8) self.loop_GameList(stepFunc, True, VIPType, kickCnt, def_black_list) except: self.common.platformLog("没有右三角按钮") def post_test(self): # ''' # 测试用例执行完成后,清理测试环境 # 设置VIP为过期状态,踢人卡数量为0 # ''' self.start_step("清理测试环境") self.set_PlayerData(-1, 0) self.common.set_coin(mid, '10000') self.common.closedriver()
class D25771_FourRoom_Buy(TestCase): ''' 房间内快捷购买 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() global mid mid = self.common.get_config_value("casecfg", "mid") self.log_info("金币数为5000") self.common.set_money(mid, 5000) self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去四人场") while self.hall_page.element_is_exist("游戏列表"): elments = self.hall_page.get_elements("游戏列表") elments[3].click() self.start_step("进入房间") while self.level_page.element_is_exist("房间列表"): elments = self.level_page.get_elements("房间列表") print len(elments) self.common.swipeelement(elments[1], elments[3]) self.level_page.wait_element("房间列表").click() while self.game_page.element_is_exist("购买金币") == False: self.common.swipeelement(elments[1], elments[3]) self.level_page.wait_element("房间列表").click() self.start_step("查看金币支付页面") self.game_page.wait_element("购买金币", 40).click() while self.game_page.element_is_exist("立即购买") == False: self.game_page.wait_element("购买金币").click() self.game_page.wait_element("立即购买", 60).click() self.game_page.screenshot("金币购买界面.png") while self.game_page.element_is_exist("购买金币", 1) == False: try: self.luadriver.keyevent(4) except: self.log_info("未出现支付页面") self.game_page.wait_element("关闭1").click() self.start_step("记牌器支付页面") if self.game_page.element_is_exist("记牌器"): self.game_page.wait_element("记牌器").click() time.sleep(4) self.game_page.get_elements("记牌器购买").click() self.game_page.wait_element("立即购买").click() self.game_page.screenshot("记牌器购买界面.png") self.game_page.wait_element("关闭1").click() else: self.log_info("未出现记牌器按钮") def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class D25693_LaiziRoom_Interaction(TestCase): ''' 房间内玩家互动 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.start_step("开始玩牌") while self.game_page.element_is_exist("开始", 1): self.game_page.wait_element("开始").click() self.start_step("叫地主") while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") self.start_step("查看玩家信息") head_elements = self.game_page.get_elements("玩家头像") for i in range(1): head_elements[i].click() time.sleep(2) self.start_step("添加第%s个玩家为好友" % (i + 1)) self.game_page.wait_element("添加好友").click() self.game_page.screenshot("添加好友%s.png" % (i + 1), sleeptime=0) head_elements[i].click() self.game_page.wait_element("发送表情").click() self.game_page.screenshot("发送表情%s.png" % (i + 1), sleeptime=0) self.game_page.screenshot("发送表情%s_1.png" % (i + 1), sleeptime=0) head_elements[i].click() self.game_page.wait_element("举报").click() self.game_page.wait_element("举报信息").click() self.game_page.screenshot("举报信息%s.png" % (i + 1), sleeptime=0) self.game_page.wait_element("确定").click() self.game_page.screenshot("确定举报%s.png" % (i + 1), sleeptime=3) # while self.game_page.element_is_exist("继续游戏", 1): # break # while self.game_page.element_is_exist("QQ分享", 1): # self.game_page.screenshot("出现分享页面.png") # self.luadriver.keyevent(4) # break self.start_step("托管") if self.game_page.element_is_exist("机器人", 1) == False: self.game_page.wait_element("托管").click() while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") self.game_page.screenshot("结算界面.png") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class D25760_FourRoom_Enter_ToomuchMoney(TestCase): ''' 金币过多 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 pending = True def pre_test(self): self.common = Common() global mid, money money = 1000001 mid = self.common.get_config_value("casecfg", "mid") self.common.set_money(mid, 1000001) self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去四人场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[3].click() self.start_step("查看房间列表") self.hall_page.screenshot("查看房间列表.png") # while self.level_page.element_is_exist("房间列表"): # elments = self.level_page.get_elements("房间列表") # print len(elments) # self.common.swipeelement(elments[1], elments[3]) self.start_step("获取初级场底分") imageelement = self.game_page.wait_element("场次底分") chujichangdifen = self.common.image_text(imageelement) if chujichangdifen == '': chujichangdifen = '10' self.log_info("初级场底分:" + chujichangdifen) self.start_step("点击初级场房间") self.level_page.wait_element("房间列表").click() string = self.level_page.wait_element("金币超出文本").get_attribute("text") self.assert_equal("检查是否出现金币超出弹框", string.find("您的金币已超过本房间上限") != -1) self.level_page.screenshot("金币超出.png") self.level_page.wait_element("去高级场").click() time.sleep(4) self.level_page.screenshot("高级场房间.png") image_element = self.game_page.wait_element("四人场房间底分") room = self.common.image_text(image_element) self.start_step("初级场底:%s,房间底分:%s,核对是否是高级场" % (chujichangdifen, room)) if room.isdigit(): self.assert_equal("进入了高级场", actual=int(room) > int(chujichangdifen)) self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) self.common.set_money(mid, 5000) finally: self.common.closedriver()
class D25695and25696_LaiziRoom_Trustee_Display(TestCase): ''' 托管/托管状态 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.start_step("开始玩牌") self.game_page.wait_element("开始").click() starttime = time.time() while self.game_page.element_is_exist("正在配桌中"): time.sleep(1) self.log_info("正在配桌中,等待") endtime = time.time() time.sleep(3) try: self.game_page.wait_element("换桌").click() except: self.log_info("换桌失败") if (endtime - starttime) / 60 > self.timeout - 5: self.game_page.is_in_gameroom(self.luadriver) self.log_info("等待超时") return self.start_step("叫地主") while self.game_page.element_is_exist("出牌", 2) == False: list = ["抢地主", "叫地主", "加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") if self.game_page.element_is_exist("继续游戏", 1): break try: self.game_page.wait_element("明牌X2", 20).click() self.game_page.screenshot("明牌.png") except: self.log_info("未出现明牌按钮") self.game_page.screenshot("底牌及倍数.png") self.start_step("托管") if self.game_page.element_is_exist("机器人") == False: self.game_page.wait_element("托管").click() self.game_page.screenshot("手动托管.png") try: self.game_page.wait_element("点击取消托管").click() self.game_page.screenshot("取消托管.png") except: self.log_info("未出现取消托管按钮") if self.game_page.element_is_exist("点击取消托管") == False: time.sleep(1) self.game_page.screenshot("自动托管.png") while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class D25768_FourRoom_Talk_Display(TestCase): ''' 房间内聊天 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() self.start_step("设置金币数为100000") global mid, money mid = self.common.get_config_value("casecfg", "mid") self.common.set_money(mid, 100000) self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去四人场") while self.hall_page.element_is_exist("游戏列表"): elments = self.hall_page.get_elements("游戏列表") elments[3].click() self.start_step("进入房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() while self.game_page.element_is_exist("常用语聊天列表") == False: self.game_page.wait_element("聊天").click() self.game_page.wait_element("常用语聊天列表").click() self.game_page.screenshot("常用语聊天.png", sleeptime=0) while self.game_page.element_is_exist("常用表情tab") == False: try: self.game_page.wait_element("聊天").click() except: self.log_info("未找到聊天按钮") self.game_page.wait_element("常用表情tab").click() self.game_page.wait_element("表情1").click() self.game_page.screenshot("常表情聊天.png", sleeptime=0) while self.game_page.element_is_exist("常用语tab") == False: self.game_page.wait_element("聊天").click() self.game_page.wait_element("常用语tab").click() text = self.common.random_str(5) self.game_page.wait_element("输入聊天信息").send_keys(text) self.game_page.wait_element("输入聊天信息").click() self.game_page.wait_element("发送").click() self.game_page.screenshot("发送自定义信息.png") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) self.common.set_money(mid, 5000) finally: self.common.closedriver()
class D25690_LaiziRoom_Cards_Display(TestCase): ''' 底牌及倍数 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进去癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() self.start_step("开始玩牌") self.game_page.wait_element("开始").click() starttime = time.time() while self.game_page.element_is_exist("正在配桌中"): time.sleep(1) self.log_info("正在配桌中,等待") endtime = time.time() time.sleep(3) try: self.game_page.wait_element("换桌").click() except: self.log_info("换桌失败") if (endtime - starttime) / 60 > self.timeout - 5: self.game_page.is_in_gameroom(self.luadriver) self.log_info("等待超时") return self.start_step("叫地主") while self.game_page.element_is_exist("出牌", 1) == False: list = ["抢地主", "叫地主", "不加倍"] self.log_info("叫地主中") for name in list: try: self.game_page.wait_element(name, 1).click() except: self.log_info("未出现抢地主按钮") self.game_page.screenshot("房间底牌和倍数展示.png") image_element = self.game_page.wait_element("房间内倍数") beishutext = self.common.image_text(image_element) self.start_step("房间内倍数展示%s" % beishutext) if beishutext.isdigit(): self.assert_equal("房间内倍数展示", actual=int(beishutext) >= 3) self.start_step("托管") if self.game_page.element_is_exist("机器人") == False: self.game_page.wait_element("托管").click() while self.game_page.element_is_exist("继续游戏", 1) == False: time.sleep(1) self.log_info("正在游戏中") self.start_step("退出玩牌房间") self.game_page.is_in_gameroom(self.luadriver) def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class C308_DFCP_Backpack_Interface_GivePro(TestCase): ''' 物品箱有道具,且有兑奖记录,点击物品箱以及兑奖记录 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 5 def pre_test(self): self.common = Common() self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.mall_page = Mall_Page() self.sign_page = Sign_Page() self.backpack_page = Backpack_Page() self.personinfo_page = Personinfo_Page() time.sleep(1) self.start_step("添加金币,用于购买道具") PHPInterface.add_money(self.casedata['mid'], 53000) # 每个用例都需要关闭活动,把这个放在初始化里面实现 self.common.closeactivitytest(self.luadriver) self.start_step("用户登录") self.hall_page.wait_element("头像").click() time.sleep(2) if self.personinfo_page.wait_element("账号ID").get_attribute( 'text') != self.casedata['cid']: self.common.loginuser(self.casedata['user'], self.casedata['password']) try: self.personinfo_page.wait_element("关闭").click() except: print "已关闭窗口" def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('Backpack_Enterpack1.png') self.luadriver.keyevent(4) self.start_step("进入商城页面") self.hall_page.wait_element("商城").click() time.sleep(2) self.mall_page.wait_element("道具页签").click() time.sleep(2) self.start_step("购买道具") i = 0 while (i < 3): i += 1 try: self.sign_page.wait_element("提示卡").click() time.sleep(5) self.sign_page.wait_element("购买").click() except: time.sleep(1) time.sleep(3) self.start_step("进入物品箱页面") time.sleep(2) self.hall_page.wait_element("物品箱").click() time.sleep(2) self.hall_page.screenshot('Backpack_Enterpack2.png') def post_test(self): self.common.closedriver()
class C31046_DFQP_Safebox_Safeboxis0(TestCase): ''' 保险箱银币数为0时取款 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() global mid mid = self.common.get_config_value("casecfg", "mid") self.common.set_coin(mid=mid, value='10000') self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.start_step("关闭活动,并切换到预发布") 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() time.sleep(3) Safebox_info = PHPInterface.get_safebox(mid) coin_saving = Safebox_info.get('safebox') if coin_saving > 0: self.start_step("将银币取出保险箱") self.common.swipeelement( self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目")) time.sleep(3) self.safebox_page.wait_element('确定---保险箱').click() time.sleep(3) user_info = PHPInterface.get_user_info(mid) # 获取玩家信息 coin = json.loads(user_info).get('result', { 'coin': None }).get('coin') # 获取当前银币值 if coin > 20000: AddMoney = 10000 - coin PHPInterface.add_money(mid, AddMoney) self.luadriver.keyevent(4) self.common.closeactivity_switchserver(self.luadriver) self.hall_page.wait_element('保险箱').click() time.sleep(3) self.safebox_page.wait_element("取出").click() time.sleep(3) self.safebox_page.screenshot('safebox1.png') time.sleep(3) self.safebox_page.wait_element("取出").click() time.sleep(4) self.safebox_page.wait_element("存入").click() time.sleep(2) self.safebox_page.screenshot('safebox2.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.release_user(UserID) # self.common.deletefile(self.luadriver) self.common.closedriver()
class D25700_LaiziRoom_Buy(TestCase): ''' 房间内快捷购买 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 15 # pending = True def pre_test(self): self.common = Common() self.hall_page = Hall_Page() self.game_page = Game_Page() self.level_page = Level_Page() self.start_step("初始化driver") self.luadriver = self.common.setupdriver() self.common.closeactivity() self.common.user_money(money=1000) def run_test(self): self.hall_page.wait_element("同步标志") self.start_step("进入癞子场") while self.hall_page.element_is_exist("游戏列表"): elments1 = self.hall_page.get_elements("游戏列表") elments1[1].click() self.start_step("切换到癞子场") self.game_page.wait_element("切换按钮").click() elments = self.game_page.get_elements("切换玩法") elments[0].click() # self.level_page.wait_element("快速开始").click() self.start_step("点击初级场房间") while self.level_page.element_is_exist("房间列表"): self.level_page.wait_element("房间列表").click() while self.game_page.element_is_exist("购买金币") == False: self.level_page.wait_element("房间列表").click() self.start_step("查看金币支付页面") self.game_page.wait_element("倍数说明", 40) self.game_page.wait_element("购买金币").click() while self.game_page.element_is_exist("立即购买") == False: self.game_page.screenshot("购买金币.png") self.game_page.wait_element("购买金币").click() self.game_page.wait_element("立即购买", 60).click() self.game_page.screenshot("金币购买界面.png") while self.game_page.element_is_exist("购买金币",1)==False: try: self.luadriver.keyevent(4) except: self.log_info("未出现支付页面") try: self.game_page.wait_element("关闭1").click() except: self.log_info("未出现关闭1按钮") self.start_step("记牌器支付页面") if self.game_page.element_is_exist("记牌器"): self.game_page.wait_element("记牌器").click() self.game_page.screenshot("记牌器购买界面.png") time.sleep(4) elments1 = self.game_page.get_elements("记牌器购买") for e in elments1: if "钻石" in e.get_attribute("text"): e.click() self.game_page.screenshot("点击记牌器购买界面.png") break # self.game_page.get_elements("记牌器购买").click() self.game_page.wait_element("立即购买").click() self.game_page.screenshot("立即购买界面.png") self.game_page.wait_element("关闭1").click() else: self.log_info("未出现记牌器按钮") def post_test(self): try: self.game_page.is_in_gameroom(self.luadriver) finally: self.common.closedriver()
class C31048_DFQP_Safebox4(TestCase): ''' 保险箱金币不为0时取款 ''' owner = "LucyLiu" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() global mid mid = self.common.get_config_value("casecfg", "mid") self.common.set_crystal(mid=mid, value='400') # 初始化Luadriver self.luadriver = self.common.setupdriver() self.hall_page = Hall_Page() self.sign_page = Sign_Page() self.personinfo_page = Personinfo_Page() self.safebox_page = Safebox_Page() self.start_step("关闭活动,并切换到预发布") self.common.closeactivity(self.luadriver) def run_test(self): self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") self.hall_page.wait_element('保险箱').click() time.sleep(3) self.safebox_page.wait_element('金条保险箱').click() time.sleep(3) self.safebox_page.wait_element("存入").click() time.sleep(3) self.start_step("将金条存入保险箱") self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目")) time.sleep(3) self.safebox_page.wait_element('确定---保险箱').click() time.sleep(3) self.safebox_page.screenshot('1.png') self.start_step("将金条取出保险箱") self.safebox_page.wait_element('取出').click() time.sleep(3) self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目")) time.sleep(3) self.safebox_page.screenshot('2.png') self.safebox_page.wait_element('确定---保险箱').click() time.sleep(3) self.safebox_page.screenshot('3.png') def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.release_user(UserID) # self.common.deletefile(self.luadriver) # self.common.closedriver() try: self.common.deletefile(self.luadriver) self.common.closedriver() self.common.recover_user(mid) except: self.log_info("close driver fail")
class C31155_DFQP_GamePlayList(TestCase): ''' 游戏玩法切换 ''' owner = "MindyZhang" status = EnumStatus.Design priority = EnumPriority.High timeout = 10 def pre_test(self): self.common = Common() # 初始化Luadriver self.luadriver = self.common.setupdriver() # 关闭弹框 self.common.closeactivity_switchserver(self.luadriver) self.hall_page = Hall_Page() self.game_page = Game_Page() def run_test(self): ''' 测试用例 ''' self.start_step("等待页面加载完成") self.hall_page.wait_element("同步标志") time.sleep(5) self.start_step("点击血战到底:") if (self.common.game_is_exist("血战到底") == True): self.game_page.wait_element("血战到底").click() time.sleep(3) self.common.game_is_download() time.sleep(2) if (self.game_page.element_is_exist("玩法切换2") == True): self.game_page.wait_element("玩法切换2").click() time.sleep(2) self.game_page.wait_element("玩法切换1").click() time.sleep(2) print("玩法切换成功") self.game_page.wait_element("返回").click() else: print("该游戏没有其他玩法") self.game_page.wait_element("返回").click() else: print("没有血战到底游戏") self.game_page.wait_element("左三角标").click() self.start_step("点击斗牛") if (self.common.game_is_exist("斗牛") == True): self.game_page.wait_element("斗牛").click() time.sleep(3) self.common.game_is_download() time.sleep(2) if (self.game_page.element_is_exist("玩法切换1") == True): self.game_page.wait_element("玩法切换2").click() time.sleep(2) self.game_page.wait_element("玩法切换1").click() time.sleep(2) self.game_page.screenshot("2.png") print("玩法切换成功") self.game_page.wait_element("返回").click() else: print("该游戏没有其他玩法") self.game_page.screenshot("2.png") self.game_page.wait_element("返回").click() else: print("没有斗牛游戏") self.game_page.wait_element("左三角标").click() self.start_step("点击闷鸡") if (self.common.game_is_exist("闷鸡") == True): self.game_page.wait_element("闷鸡").click() time.sleep(3) self.common.game_is_download() time.sleep(2) if (self.game_page.element_is_exist("玩法切换4") == True): self.game_page.wait_element("玩法切换2").click() time.sleep(2) self.game_page.wait_element("玩法切换3").click() time.sleep(2) self.game_page.wait_element("玩法切换4").click() time.sleep(2) self.game_page.wait_element("玩法切换1").click() time.sleep(2) self.game_page.screenshot("3.png") print("玩法切换成功") self.game_page.wait_element("返回").click() time.sleep(2) else: print("该游戏没有其他玩法") self.game_page.screenshot("3.png") self.game_page.wait_element("返回").click() else: print("没有闷鸡游戏") self.game_page.wait_element("左三角标").click() def post_test(self): ''' 测试用例执行完成后,清理测试环境 ''' # self.common.deletefile(self.luadriver) self.common.closedriver()