class C70527_Scoreroom_Enterroom(TestCase):
    '''
    玩家进入积分房间未准备,掉线重连
    '''
    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.common.switchnetwork(self.luadriver, u"无网络")
        self.common.switchnetwork(self.luadriver, u"WIFI模式")
        self.common.network_connect()
        self.yuepai_page.screenshot("reconnect.png")
        # self.yuepai_page.wait_element("准备").click()
        # self.start_step("退出约牌房")
        # self.yuepai_page.exit_yuepai_page()
        self.hall_page.wait_element("同步标志")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Ejemplo n.º 2
0
class D25756_ThreeRoom_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=3000)

    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[2].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("托管")
        # while self.game_page.element_is_exist("机器人") == False:
        #     self.game_page.wait_element("托管").click()
        self.start_step("重连")
        self.game_page.screenshot("断开网络前.png")
        self.common.switchnetwork(self.luadriver, u"无网络")
        self.game_page.screenshot("断开网络时.png")
        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[2].click()
        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("机器人") == False:
                self.game_page.wait_element("托管").click()
            if self.game_page.element_is_exist("开始"):
                break
            if self.game_page.element_is_exist("立即购买", 1):
                break
        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()
Ejemplo n.º 3
0
class C27218_Gamelist_Ready_Reconnect(TestCase):
    '''
    玩家已准备游戏未开始,网络波动
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.sign_page = Sign_Page()
        self.start_step("初始化driver")
        capabilities = {}
        capabilities['newCommandTimeout'] = 60 * 3
        self.luadriver = self.common.setupdriver(capabilities)
        self.common.closeactivity(self.luadriver)

    def noready_lock_longtime(self, is_next=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" %
                                          game_list[i].get_attribute("name"))
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            self.game_page.wait_element("同步标志", 20)
            try:
                self.log_info("进入游戏ID:%s 的第一个玩法" %
                              game_list[i].get_attribute("name"))
                elements = self.game_page.game_play_way()
                elements[0][1].click()
            except:
                self.log_info("当前子游戏初级场")
            self.log_info("进入游戏ID:%s 的房间" % game_list[i].get_attribute("name"))
            self.game_page.screenshot("%s_1.png" %
                                      game_list[i].get_attribute("name"))
            self.game_page.wait_element("房间场次").click()
            time.sleep(30)
            try:
                self.game_page.wait_element("准备").click()
            except:
                self.log_info("当前已准备")
            self.start_step("判断当前游戏是否准备,如果是,则继续玩游戏,否则,退出房间")
            self.yuepai_page.play_game()
            self.game_page.screenshot("%s_before.png" %
                                      game_list[i].get_attribute("name"))
            # self.start_step("锁屏")
            # self.luadriver.keyevent(26)  # 锁屏
            try:
                self.hall_page.wait_element("测试按钮").click()
                self.game_page.wait_element("重连").click()
            except:
                self.common.switchnetwork(self.luadriver, u"无网络")
                time.sleep(3)
                self.common.switchnetwork(self.luadriver, u"WIFI模式")
                self.common.network_connect()
            time.sleep(3)
            self.game_page.screenshot("%s_being.png" %
                                      game_list[i].get_attribute("name"))
            # time.sleep(2*60)
            # self.start_step("解锁")
            # self.common.unlock()
            time.sleep(4)
            self.game_page.screenshot("%s_after.png" %
                                      game_list[i].get_attribute("name"))
            self.yuepai_page.wait_element("换桌")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("退出房间失败")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("查看首屏子游戏列表")
        self.noready_lock_longtime()
        self.start_step("点击大厅第二页")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("查看第二屏子游戏列表")
        self.noready_lock_longtime(is_next=True)

    def post_test(self):
        '''
        测试用例执行完后,清理测试环境
        '''
        self.common.closedriver()