Esempio n. 1
0
class C70447_No_Appear(TestCase):
    '''
   进入房间内准备15分钟后未开始游戏,查看显示
    '''
    owner = "ShelleyZhang"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 23

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        capabilities = {}
        capabilities['newCommandTimeout'] = 16 * 60
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver(capabilities)
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.start_step("进入约牌页面")
        self.hall_page.wait_element("约牌").click()
        self.start_step("创建免费记分房")
        self.yuepai_page.wait_element('记分房', 20).click()
        self.start_step("获取左边游戏列表")
        elements = self.yuepai_page.get_elements("记分房创建页面游戏列表")
        print elements
        print len(elements)
        for i in range(0, len(elements)):
            print elements[i].get_attribute("text")
            elements[i].click()
            self.yuepai_page.enter_room()
            self.yuepai_page.screenshot("01.png")
            time.sleep(15 * 60)
            self.yuepai_page.screenshot("02.png")
            self.start_step("退出房间")
            self.yuepai_page.is_exist_yuepairoom()
            break

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Esempio n. 2
0
class C27364_Money_Notenough(TestCase):
    '''
    携带银币少于入场下限但未破产情况下入场
    '''
    owner = "ShelleyZhang"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.game_page = Game_Page()
        # 初始化Luadriver
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.start_step("获取mid")
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.closeactivity(self.luadriver)

    def action(self):
        try:
            while (self.hall_page.element_is_exist("预发布") != True):
                self.luadriver.back()
                time.sleep(10)
                print "等待牌局打完"
        except:
            print "退出牌局失败"

    def bian_li(self, isChange=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            gameid_name = game_list[i].get_attribute("name")
            self.start_step("获取游戏ID: %s 初级场下限是" % gameid_name)
            gameid = int(gameid_name[4:len(gameid_name)])
            gamecfg = PHPInterface.get_levelconfig(gameid, 0, 0, 12)
            #获取入场下限的配置
            low_limit = gamecfg.get('values', {'LOW_LIMIT': None}).get('LOW_LIMIT')
            self.log_info("游戏ID: %s 初级场下限是%d" % (gameid_name, low_limit))
            self.common.set_coin(mid=mid, value= low_limit - 10)
            self.common.switchserver()
            self.common.closeActivityBtn()
            try:
                if isChange and self.hall_page.element_is_exist("换页"):
                    self.hall_page.wait_element("换页").click()
                #判断是否需要换页
                game_list[i].click()
                time.sleep(2)
                self.game_page.game_is_download()
                ele = self.hall_page.get_elements("场次名称")
                time.sleep(2)
                if len(ele) == 3:
                    ele[2].click()
                    time.sleep(3)
                    self.hall_page.screenshot("%s_Highscreen.png" % game_list[i].get_attribute("name"))
                    self.action()
                    #得到返回界面
                    time.sleep(2)
                elif len(ele) == 2:
                    ele[1].click()
                    time.sleep(3)
                    self.hall_page.screenshot("%s_Middlescreen.png" % game_list[i].get_attribute("name"))
                    self.action()
                    time.sleep(2)
                elif len(ele) == 1:
                    self.hall_page.screenshot("%s_NotHaveHighscreen.png" % game_list[i].get_attribute("name"))
                else:
                    ele[3].click()
                    time.sleep(3)
                    self.hall_page.screenshot("%s_Otherscreen.png" % game_list[i].get_attribute("name"))
                    self.action()
                    time.sleep(2)
                    #点击高级场
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                    self.yuepai_page.is_exist_yuepairoom()
                except:
                    print "退出房间失败"
                if self.hall_page.wait_element("返回1") != None:
                    self.hall_page.wait_element("返回1").click()
            except:
                try:
                    self.hall_page.wait_element("重新获取").click()
                    self.hall_page.screenshot("%s_downloadfail.png" % game_list[i].get_attribute("name"))
                except:
                    self.log_info("重新获取元素並未存在")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.start_step("获取子游戏列表")
        self.bian_li()
        self.hall_page.wait_element("换页").click()
        self.bian_li(True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(mid)
        self.common.closedriver()
Esempio n. 3
0
class C27563_Gamelist_Back(TestCase):
    '''
    房间中未准备点击物理返回键退出房间
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity(self.luadriver)

    def room_back(self, is_next=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                self.log_info("进入游戏ID:%s 的房间" %
                              game_list[i].get_attribute("name"))
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.game_page.screenshot("%s_1.png" %
                                          game_list[i].get_attribute("name"))
                self.game_page.wait_element("房间场次").click()
                self.game_page.screenshot("%s_2.png" %
                                          game_list[i].get_attribute("name"))
                time.sleep(5)
                self.luadriver.keyevent(4)
                self.game_page.wait_element("房间场次")
                self.game_page.screenshot("%s_3.png" %
                                          game_list[i].get_attribute("name"))
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

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

    def post_test(self):
        '''
        测试用例执行完后,清理测试环境
        '''
        self.common.closedriver()
Esempio n. 4
0
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()
Esempio n. 5
0
class C27035_Gamehelp_Helpswipe(TestCase):
    '''
    帮助面板中各tab页右侧主要内容描述超出一页的可以正常滑动显示正常
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10
    pending = True
    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity(self.luadriver)

    def see_rule_swipe(self, list, is_next=False):
        game_list = []
        if len(list) == 0:
            self.log_info("重新获取游戏列表")
            game_list0 = self.game_page.get_game_list()
            for i in range(len(game_list0)):
                game_list.append(game_list0[i].get_attribute("name"))
        elif str(list[0]) == "nogame":
            return
        else:
            self.log_info("使用已有的list")
            game_list = list
        print game_list
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i])
            time.sleep(1)
            self.luadriver.find_lua_element_by_name(game_list[i]).click()
            if(self.game_page.game_is_download()==False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.log_info("进入游戏ID:%s 的房间" % game_list[i])
                self.game_page.wait_element("房间场次").click()
                self.game_page.screenshot("%s.png" % game_list[i])
                if (self.game_page.element_is_exist("规则") == True):
                    if game_list[i] not in list:
                        list.append(game_list[i])
                    self.game_page.wait_element("规则").click()
                    self.log_info("进入游戏ID:%s 的房间,有规则说明" % game_list[i])
                    self.game_page.screenshot("%s_default_rule.png" % game_list[i])
                    scroll_element = self.game_page.wait_element("帮助内容")
                    self.luadriver.swipe(scroll_element.location['x'], scroll_element.location['y'],
                                         scroll_element.location['x'],
                                         scroll_element.location['x'] + scroll_element.size['height'] / 2, 1000)
                    self.game_page.screenshot("%s_swipe_help.png" % game_list[i])
                    self.luadriver.keyevent(4)
                    time.sleep(2)
                else:
                    self.log_info("游戏ID:%s 的房间无规则说明" % game_list[i])
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")
        if len(list)==0:
            list.append(u"nogame")

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

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Esempio n. 6
0
class C27036_Gamehelp_Helptext_Switch(TestCase):
    '''
    帮助面板中各tab快速切换,查看是否显示正常
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10
    pending = True
    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity(self.luadriver)

    def see_rule_content(self, list, is_next=False):
        game_list = []
        if len(list) == 0:
            self.log_info("重新获取游戏列表")
            game_list0 = self.game_page.get_game_list()
            for i in range(len(game_list0)):
                game_list.append(game_list0[i].get_attribute("name"))
        elif str(list[0]) == "nogame":
            return
        else:
            self.log_info("使用已有的list")
            game_list = list
        print game_list
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i])
            time.sleep(1)
            self.luadriver.find_lua_element_by_name(game_list[i]).click()
            if(self.game_page.game_is_download()==False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.log_info("进入游戏ID:%s 的房间" % game_list[i])
                self.game_page.wait_element("房间场次").click()
                self.game_page.screenshot("%s.png" % game_list[i])
                if (self.game_page.element_is_exist("规则") == True):
                    if game_list[i] not in list:
                        list.append(game_list[i])
                    self.game_page.wait_element("规则").click()
                    self.log_info("进入游戏ID:%s 的房间,有规则说明" % game_list[i])
                    self.game_page.screenshot("%s_default_rule.png" % game_list[i])
                    self.log_info("查看帮助页面内容")
                    helps = self.game_page.get_elements("帮助列表")
                    black_help = ["帮助"]
                    for i in range(len(helps)):
                        try:
                            name = helps[i].get_attribute('text').decode('utf-8')
                            if name != None:
                                if name not in black_help:
                                    black_help.append(name)
                                    helps[i].click()
                                    time.sleep(1)
                                    self.game_page.screenshot("help_%d.png" % i)
                        except:
                            print ""
                    self.luadriver.keyevent(4)
                    time.sleep(2)
                else:
                    self.log_info("游戏ID:%s 的房间无规则说明" % game_list[i])
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")
        if len(list)==0:
            list.append(u"nogame")

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

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Esempio n. 7
0
class C27391and27396_Vip_RoomHead(TestCase):
    '''
    普通房间界面查看vip玩家头像和昵称显示
    '''
    owner = "Lucyliu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        # 初始化Luadriver
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)
        self.mid = self.common.get_config_value("casecfg", "mid")
        self.common.recover_user(self.mid)
        PHPInterface.set_vip(self.mid, 5)

    def see_head(self, is_next=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                self.log_info("进入游戏ID:%s 的房间" %
                              game_list[i].get_attribute("name"))
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.game_page.wait_element("房间场次").click()
                time.sleep(3)
                self.game_page.screenshot("%s_head.png" %
                                          game_list[i].get_attribute("name"))
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("进入子游戏查看头像")
        self.start_step("获取首屏子游戏列表")
        self.see_head()
        while (self.hall_page.element_is_exist("同步标志") == False):
            self.game_page.wait_element("返回1").click()
        self.start_step("点击大厅第二页")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("获取第二页的子游戏")
        self.see_head(is_next=True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(self.mid)
        self.common.closedriver()
Esempio n. 8
0
class C27385_quicklyStartGame_coinsEnough(TestCase):
    '''
    玩家自身携带条件不足够进入全部玩法场次时,快速开始入场
    '''
    owner = "GuixiangGui"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30
    
    def pre_test(self):
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.common = Common()
        self.start_step("初始化driver")
        self.driver = self.common.setupdriver()
        self.start_step("关闭弹出框")
        self.common.closeactivity(self.driver)
        
    def run_test(self):
        
        def test_game(gameElement, needClickRight, isTiro = True):
            gameId = gameElement.get_attribute("name")
            self.start_step("进入子游戏%s " %gameId)
            levelConfig = PHPInterface.get_levelconfig(re.search('\d+', gameId).group(), 0, 0, 12)
            tiro_high_limit = int(levelConfig.get("values").get("HIGH_LIMIT"))
            screenName = gameId
            if tiro_high_limit < 0 and not isTiro:
                return
            if isTiro:
                if tiro_high_limit < 0:
                    tiro_high_limit = int(levelConfig.get("values").get("LOW_LIMIT"))+500
                self.common.set_coin(self.mid, tiro_high_limit-100)
                screenName = screenName+'Tiro.png'
            else:
                self.common.set_coin(self.mid, tiro_high_limit+100)
                screenName = screenName+'Midrange.png'
            
            self.common.switchserver()
            self.common.closeActivityBtn()
                
            if needClickRight and self.hall_page.element_is_exist("右三角"):
                self.hall_page.wait_element("右三角").click()
                
            self.start_step("开始快速开场测试")
            gameElement.click()
            
            self.game_page.wait_element("快速开始").click()
            if self.game_page.element_is_exist("菜单键", 10):
                self.game_page.screenshot(screenName)
            else:
                self.game_page.screenshot(gameId+"_intoRoom_fail.png")
                
            self.yuepai_page.is_exist_yuepairoom()
            # while True:
            #     if self.hall_page.element_is_exist("预发布"):
            #         break
            #     self.driver.back()
        
        def traverseGameList(gameList, needClickRight=False):
            for gameElement in gameList:
                if needClickRight and self.hall_page.element_is_exist("右三角"):
                    self.hall_page.wait_element("右三角").click()
                gameElement.click()
                if self.hall_page.element_is_exist("重新获取", 3):
                    self.game_page.screenshot(gameElement.get_attribute("name")+"_open_failed.png")
                    self.hall_page.wait_element("关闭对话框").click()
                    continue              
                self.game_page.game_is_download()
                if self.game_page.element_not_exist("广播"):
                    self.game_page.click_game_play()
                roomLevel = self.game_page.get_elements("房间场次")
                if len(roomLevel)>1:
                    try:
                        test_game(gameElement, needClickRight, True)
                        test_game(gameElement, needClickRight, False)
                    except:
                        self.game_page.screenshot(gameElement.get_attribute("name")+"_failed.png")
                 
                try:
                    self.start_step("退出房间")
                    self.yuepai_page.is_exist_yuepairoom()
                    self.game_page.wait_element("返回1").click()
                except:
                    self.log_info("退出房间失败")
        
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.mid = self.common.get_config_value("casecfg", "mid")
        self.start_step("遍历首页游戏列表")
        traverseGameList(self.game_page.get_game_list())
        try:
            self.hall_page.wait_element("右三角").click()
            traverseGameList(self.game_page.get_game_list(), True)
        except:
            print "没有右三角按钮"
            
    def post_test(self):
        self.common.closedriver()
        self.common.recover_user(self.mid)
Esempio n. 9
0
class C27399_Nickname_Sixchar(TestCase):
    '''
    牌局中查看个人昵称1-6个英文或者其他特殊字符显示
    '''
    owner = "Lucyliu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    def see_nickname(self, is_next=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                self.log_info("进入游戏ID:%s 的房间" %
                              game_list[i].get_attribute("name"))
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.game_page.wait_element("房间场次").click()
                starttime = time.time()
                while self.game_page.element_is_exist("头像frame") == False:
                    time.sleep(1)
                    endtime = time.time()
                    if (endtime - starttime) / 1000 > 20:
                        break
                self.game_page.screenshot("%s_nickname.png" %
                                          game_list[i].get_attribute("name"))
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.hall_page.wait_element("头像").click()
        self.start_step("修改用户名")
        nickname = self.common.random_str(6)
        print nickname
        self.personinfo_page.wait_element("设置用户名").send_keys(nickname)
        self.personinfo_page.wait_element("修改用户名").click()
        #点击页面其他元素,设置保存
        self.personinfo_page.wait_element("了解VIP特权").click()
        self.personinfo_page.screenshot('NicknameAlter.png')
        self.personinfo_page.wait_element("关闭").click()
        self.start_step("进入子游戏查看头像")
        self.start_step("获取首屏子游戏列表")
        self.see_nickname()
        while (self.hall_page.element_is_exist("同步标志") == False):
            self.game_page.wait_element("返回1").click()
        self.start_step("点击大厅第二页")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("获取第二页的子游戏")
        self.see_nickname(is_next=True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Esempio n. 10
0
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()
Esempio n. 11
0
class BaseCase(TestCase):
    gameIDList = ['game203', 'game24', 'game1502', 'game23', 'game2603']
    gameOverFlag =  [ 'game203结算框标志', 'game7结算框标志', 'game20结算框标志', 'game2002结算框标志', 'game2601结算框标志', 'game2603结算框标志']
    child_game_timeout = 5

    def pre_test(self, needSetSafebox=False):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("获取用户mid")
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.start_step("设置银币数为20000")
        self.common.set_coin(mid, '20000')
        if needSetSafebox == True:
            self.start_step("设置保险箱银币数为100000")
            self.common.set_safeBoxMoney(mid, 100000, 0)
            # money_dict = PHPInterface.get_safebox(mid)
            # print money_dict["safebox"]

        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    def enterGame(self, gameElment, needClickRight=False):
        gameId = gameElment.get_attribute("name")
        self.start_step("点击游戏:" + gameId)
        if needClickRight:
            self.click_rightArrow()
        gameElment.click()
        if self.game_page.game_is_download():
            #主要用来兼容新版本斗地主,没有广播说明有多种玩法,新版本存在不同的游戏级别(银币场、金条场、话费场)
            if not self.game_page.element_is_exist("广播") or self.game_page.element_is_exist("游戏级别", 1):
                #切到第一种玩法
                self.game_page.click_game_play()
            self.start_step("进入游戏房间:" + gameId)
            #旧版本斗地主
            if self.game_page.element_is_exist("初级场"):
                self.game_page.wait_element("初级场").click()
                self.game_page.screenshot("%s进入房间.png" % gameId)
            # 新版本斗地主
            elif self.game_page.element_is_exist("第一个房间"):
                self.game_page.wait_element("第一个房间").click()
                self.game_page.screenshot("%s进入房间.png" % gameId)
            else:
                self.assert_equal(gameId + "进入游戏房间失败", False, True)
                self.gameToHall()
                return False
            return True
        else:
            self.assert_equal(gameId + "进入游戏失败", False, True)
            return False

    def gameIsAutoReady(self, gameElment):
        gameId = gameElment.get_attribute("name")
        return gameId in self.gameIDList

    def click_rightArrow(self):
        if self.hall_page.element_is_exist("右三角"):
            self.hall_page.wait_element("右三角").click()
            time.sleep(1)
            return True
        return False

    def test(self, traverseGameList):
        game_list = self.game_page.get_game_list()
        traverseGameList(game_list)
        if self.click_rightArrow():
            game_list = self.game_page.get_game_list()
            traverseGameList(game_list, True)

    def clickRoomMenu(self, gameid_name):
        self.game_page.wait_element("房间内菜单").click()
        self.game_page.screenshot("%s房间内菜单按钮.png" % gameid_name)
        #点击电池,为了关闭打开的菜单
        if self.game_page.element_is_exist("电池标志"):
            self.game_page.wait_element("电池标志").click()

    def wait_for_gameover(self, gameid_name):
        if gameid_name == "game203":
            while not self.game_page.element_is_exist("game203详情按钮"):
                time.sleep(1)
            if self.game_page.element_is_exist("game203详情按钮"):
                return True
        elif gameid_name == "game23" or gameid_name == "game3":
            while not self.game_page.element_is_exist("换桌") and not self.game_page.element_is_exist("准备"):
                time.sleep(1)
            if self.game_page.element_is_exist("换桌") and self.game_page.element_is_exist("准备"):
                return True
        else:
            while not self.game_page.element_is_exist("关闭结算界面") and not self.game_page.element_is_exist("关闭结算界面1"):
                time.sleep(1)
            if self.game_page.element_is_exist("关闭结算界面"):
                self.game_page.wait_element("关闭结算界面").click()
                return True
            if self.game_page.element_is_exist("关闭结算界面1"):
                self.game_page.wait_element("关闭结算界面1").click()
                return True

    def gameToHall(self):
        self.yuepai_page.is_exist_yuepairoom()
        if self.game_page.element_is_exist("返回1"):
            self.game_page.wait_element("返回1").click()
        elif self.game_page.element_is_exist("返回大厅"):
            self.game_page.wait_element("返回大厅").click()
        time.sleep(2)

    def post_test(self):
        self.common.recover_user(mid)
        self.common.closedriver()
Esempio n. 12
0
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()
Esempio n. 13
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()
Esempio n. 14
0
    class C27215_Gamelist_Noready_Lock(TestCase):
        '''
        玩家进入房间准备,短时间锁屏
        '''
        owner = "LucyLiu"
        status = EnumStatus.Design
        priority = EnumPriority.High
        timeout = 15

        def pre_test(self):
            self.common = Common()
            self.hall_page = Hall_Page()
            self.game_page = Game_Page()
            self.yuepai_page = Yuepai_Page()
            self.start_step("初始化driver")
            self.luadriver = self.common.setupdriver()
            self.start_step("关闭活动页面")
            self.common.closeactivity(self.luadriver)

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

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

        def post_test(self):
            '''
            测试用例执行完后,清理测试环境
            '''
            self.common.closedriver()
Esempio n. 15
0
class C70531_Save_Money(TestCase):
    '''
    银币高出房间限制界面存钱入场
    '''
    owner = "ShelleyZhang"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.game_page = Game_Page()
        self.start_step("获取mid")
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.start_step("携带1000000银币")
        self.common.set_coin(mid=mid,value='100000000')
        # 初始化Luadriver
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    def action(self, isChange=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            # 得到大厅所有的游戏控件
            if isChange and self.hall_page.element_is_exist("换页"):
                self.hall_page.wait_element("换页").click()
            try:
                game_list[i].click()
                self.game_page.game_is_download()
                ele = self.hall_page.get_elements("场次名称")
                ele[0].click()
                # 点击初级场
                try:
                    self.hall_page.wait_element("存钱入场").click()
                except:
                    self.log_info("未出现存钱入场的按钮")
                time.sleep(3)
                self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name"))
                try:
                    self.yuepai_page.is_exist_yuepairoom()
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "退出房间失败"
                if self.hall_page.wait_element("返回1") != None:
                    self.hall_page.wait_element("返回1").click()
            except:
                try:
                    self.hall_page.wait_element("重新获取").click()
                    self.hall_page.screenshot("%s_downloadfail.png" % game_list[i].get_attribute("name"))
                except:
                    self.log_info("重新获取元素並未存在")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.start_step("获取子游戏列表")
        self.action()
        self.hall_page.wait_element("换页").click()
        self.action(True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(mid)
        self.start_step("从保险箱取出银币")
        self.common.set_safeBoxMoney(mid, 0, 0)
        self.common.closedriver()
Esempio n. 16
0
class C27468_Gameroom_Cheat_Room(TestCase):
    '''
    进入防作弊房间查看房间内UI显示
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        global mid
        mid = self.common.get_config_value("casecfg","mid")
        self.common.set_coin(mid,value=50000)
        self.common.closeactivity(self.luadriver)

    def room_cheat(self, game_list, is_next=False, switch=1):
        self.common.room_set_cheat(game_list, switch)
        for i in range(len(game_list)):
            self.start_step("进入 %s 中级场_作弊场" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i].get_attribute("name"))
                self.game_page.screenshot("%s_downfail.png" % game_list[i].get_attribute("name"))
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            self.game_page.wait_element("反作弊icon")
            self.game_page.screenshot("_%s_cheat.png" % game_list[i].get_attribute("name"))
            elements = self.game_page.get_elements("房间场次")
            print elements
            elements[1].click()
            self.game_page.screenshot("_%s_cheat_room.png" % game_list[i].get_attribute("name"))
            if(self.game_page.element_is_exist("房间内聊天")==False):
                self.log_info("%s防作弊场无聊天按钮" % game_list[i].get_attribute("name"))
            else:
                raise "%s防作弊场出现聊天按钮" % game_list[i].get_attribute("name")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("获取首屏子游戏列表,并设置为作弊场")
        game_list = self.game_page.get_game_list()
        self.room_cheat(game_list, switch=1)
        self.common.room_set_cheat(game_list, switch=0)
        self.start_step("获取第二页的子游戏")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("获取第二页子游戏列表,并设置为作弊场")
        game_list1 = self.game_page.get_game_list()
        self.room_cheat(game_list1, is_next=True, switch=1)
        self.common.room_set_cheat(game_list1, switch=0)

    def post_test(self):
        '''
        测试用例执行完后,清理测试环境
        '''
        self.common.recover_user(mid)
        self.common.closedriver()
Esempio n. 17
0
class C70531_Use_Safebox(TestCase):
    '''
    携带银币少于破产线,但保险箱有钱情况下入场
    '''
    owner = "ShelleyZhang"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 60

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.game_page = Game_Page()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        # 初始化Luadriver
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    # def first_body(self,money):
    #     #设置自身携带银币数
    #     self.start_step("获取mid")
    #     self.common.set_coin(mid=mid,value=money)
    #     self.common.switchserver()
    #     self.common.closeActivityBtn()
    #
    # def safebox_money(self):
    #     self.start_step("存钱到保险箱")
    #     self.hall_page.wait_element("保险箱").click()
    #     self.hall_page.wait_element("存钱").click()
    #     self.common.swipeelement(self.hall_page.wait_element("滚动条"), self.hall_page.wait_element("添加"))
    #     self.hall_page.wait_element("确定按钮").click()
    #     if self.hall_page.element_is_exist("存钱") ==True:
    #         self.hall_page.wait_element("空白页").click()

    def action(self,isChange=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            # 得到大厅所有的游戏控件
            # self.first_body("35000")
            self.common.set_coin(mid=mid, value="1000")
            self.common.set_safeBoxMoney(mid,34000,money_type=0)
            self.common.switchserver()
            self.common.closeActivityBtn()
            # # 首先设置初始自身携带的银币数
            # self.safebox_money()
            # # 将自身携带的银币数存入保险箱
            # self.first_body("1000")
            # 再次设置自身携带的银币数
            # if isChange and self.hall_page.element_is_exist("换页"):
            #     self.hall_page.wait_element("换页").click()
            try:
                game_list[i].click()
                self.game_page.game_is_download()
                ele = self.hall_page.get_elements("场次名称")
                ele[0].click()
                #点击初级场
                self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name"))
                self.hall_page.wait_element("关闭按钮").click()
                #判断点击关闭按钮是否可以正常返回
                ele[0].click()
                # 点击初级场
                self.hall_page.wait_element("打开保险箱").click()
                self.hall_page.wait_element("取出").click()
                self.common.swipeelement(self.hall_page.wait_element("滚动条"), self.hall_page.wait_element("添加"))
                self.hall_page.wait_element("确定按钮").click()
                self.hall_page.wait_element("頭像").click()
                ele[0].click()
                # 点击初级场
                self.hall_page.screenshot("%s_2.png" % game_list[i].get_attribute("name"))
                try:
                    self.start_step("退出房间")
                    self.yuepai_page.is_exist_yuepairoom()
                    self.game_page.wait_element("返回1").click()
                    if isChange == True:
                        self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                        try:
                            self.game_page.wait_element("右三角标").click()
                        except:
                            self.log_info("当前为第二页")
                except:
                    self.log_info("未找到元素")
            except:
                try:
                    self.hall_page.wait_element("重新获取").click()
                    self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name"))
                except:
                    print "截图失败"

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        # self.start_step("存钱到保险箱")
        self.action()
        self.hall_page.wait_element("换页").click()
        self.action(True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(mid)
        self.start_step("从保险箱取出银币")
        self.common.set_safeBoxMoney(mid, 0, 0)
        self.common.closedriver()
Esempio n. 18
0
class C27021_ReadyCountdown(TestCase):
    '''
    准备成功倒计时,换桌按钮点击无效
    '''
    owner = "YoungLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.personinfo_page = Personinfo_Page()
        self.start_step("初始化环境")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity(self.luadriver)

    def enter_room(self, is_next=False):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('遍历子游戏')
        # elements = self.hall_page.get_elements('子游戏')
        game_list = self.game_page.get_game_list()
        print len(game_list)
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" %
                              game_list[i].get_attribute("name"))
                self.game_page.screenshot("%s_downfail.png" %
                                          game_list[i].get_attribute("name"))
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            self.start_step('进入初级场')
            self.game_page.wait_element("房间场次").click()
            while self.hall_page.element_is_exist("换桌"):
                self.hall_page.wait_element("准备").click()
                time.sleep(2)
                self.hall_page.screenshot("%s_huanzuo.png" %
                                          game_list[i].get_attribute("name"))
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("获取首屏子游戏列表")
        self.enter_room()
        while (self.hall_page.element_is_exist("同步标志") == False):
            self.game_page.wait_element("返回1").click()
        self.start_step("点击大厅第二页")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("获取第二页的子游戏")
        self.enter_room(is_next=True)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(self.common.get_config_value(
            "casecfg", "mid"))
        self.common.closedriver()
Esempio n. 19
0
class C27417_personCardLevel_openOtherView(TestCase):
    '''
    个人资料卡打开情况下,打开其他界面查看层级
    '''
    owner = "GuixiangGui"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30

    def pre_test(self):
        self.game_page = Game_Page()
        self.hall_page = Hall_Page()
        self.yuepai_page = Yuepai_Page()
        self.common = Common()
        self.start_step("初始化driver")
        self.driver = self.common.setupdriver()
        self.start_step("关闭弹出框")
        self.common.closeactivity(self.driver)

    def run_test(self):
        def test_game(gameId):
            self.start_step("%s 子游戏初级场" % gameId)
            self.game_page.wait_element("初级场").click()
            elist = ["聊天", "聊天1", "对局流水", "番数说明", "牌型", "规则", "菜单键"]
            for eName in elist:
                # if not self.game_page.element_is_exist("物品箱", 3):
                if self.game_page.element_is_exist(eName, 2):
                    try:
                        self.game_page.get_elements("头像frame")[0].click()
                        self.game_page.screenshot(gameId + "_" + eName +
                                                  "_headview.png")
                        self.game_page.wait_element(eName).click()
                        self.game_page.screenshot(gameId + "_" + eName +
                                                  ".png")
                    except:
                        self.game_page.screenshot(gameId + "_notfoundhead" +
                                                  ".png")
                        # return
            self.yuepai_page.is_exist_yuepairoom()
            # if self.game_page.element_is_exist(eName, 2):
            #     self.game_page.wait_element(eName).click()
            #     self.game_page.screenshot(gameId+"_"+eName+".png")

        def traverseGameList(gameList, needClickRight=False):
            for gameElement in gameList:
                if needClickRight and self.hall_page.element_is_exist("右三角"):
                    self.hall_page.wait_element("右三角").click()
                gameElement.click()
                if self.hall_page.element_is_exist("重新获取", 3):
                    self.game_page.screenshot(
                        gameElement.get_attribute("name") + "_open_failed.png")
                    self.hall_page.wait_element("关闭对话框").click()
                    continue
                self.game_page.game_is_download()
                # if self.game_page.element_not_exist("广播"):
                #     self.game_page.game_play_way()
                test_game(gameElement.get_attribute("name"))

                while True:
                    if self.hall_page.element_is_exist("客服", 3):
                        break
                    self.driver.back()

        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("遍历首页游戏列表")
        traverseGameList(self.game_page.get_game_list())
        try:
            self.hall_page.wait_element("右三角").click()
            traverseGameList(self.game_page.get_game_list(), True)
        except:
            print "没有右三角按钮"

    def post_test(self):
        self.common.closedriver()
Esempio n. 20
0
class C27391_Room_Head_Alter(TestCase):
    '''
    头像为修改过的头像,进入牌局中查看头像显示
    '''
    owner = "Lucyliu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.start_step("初始化头像,设置为默认值")
        self.mid = self.common.get_config_value("casecfg", "mid")
        PHPInterface.reset_img(self.mid)
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    def see_head(self, is_next=False):
        game_list = self.game_page.get_game_list()
        for i in range(len(game_list)):
            self.start_step("进入子游戏:%s" % game_list[i].get_attribute("name"))
            game_list[i].click()
            if (self.game_page.game_is_download() == False):
                self.log_info("下载游戏ID:%s 失败" % game_list[i])
                self.game_page.screenshot("%s_downfail.png" % game_list[i])
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    print "关闭弹框"
                continue
            try:
                self.game_page.wait_element("同步标志", 20)
                self.log_info("进入游戏ID:%s 的房间" %
                              game_list[i].get_attribute("name"))
                try:
                    self.log_info("进入游戏ID:%s 的第一个玩法" % game_list[i])
                    elements = self.game_page.game_play_way()
                    elements[0][1].click()
                except:
                    self.log_info("当前子游戏初级场")
                self.game_page.wait_element("房间场次").click()
                self.game_page.screenshot("%s_head.png" %
                                          game_list[i].get_attribute("name"))
            except:
                try:
                    self.hall_page.wait_element("关闭对话框").click()
                except:
                    self.log_info("未找到元素")
            try:
                self.start_step("退出房间")
                self.yuepai_page.is_exist_yuepairoom()
                self.game_page.wait_element("返回1").click()
                if is_next == True:
                    self.log_info("is_next为True则表示遍历的是第二页的子游戏")
                    try:
                        self.game_page.wait_element("右三角标").click()
                    except:
                        self.log_info("当前为第二页")
            except:
                self.log_info("未找到元素")

    def run_test(self):
        '''
        测试用例
        '''
        self.hall_page.wait_element("头像").click()
        self.personinfo_page.screenshot("pre_change_head.png")
        # self.start_step("拍照修改为自定义头像")
        # self.personinfo_page.wait_element("头像logo").click()
        # self.start_step("拍照修改头像")
        # self.luadriver.find_element_by_id("android:id/text1").click()
        # self.luadriver.keyevent(27) #拍照
        # time.sleep(10)
        # try:
        #     self.luadriver.find_elements_by_class_name("android.widget.ImageView")[4].click()
        # except:
        #     print "未找到元素1"
        # try:
        #     self.luadriver.find_elements_by_class_name("android.widget.TextView")[1].click()
        # except:
        #     print "未找到元素2"
        # time.sleep(5)
        # try:
        #     self.luadriver.find_element_by_id("com.android.gallery3d:id/head_select_right").click()
        # except:
        #     print "未找到元素3"
        # try:
        #     self.luadriver.find_element_by_id("com.sec.android.gallery3d:id/save").click()
        # except:
        #     print "未找到元素3"
        # time.sleep(5)
        if self.personinfo_page.wait_element("女").is_selected(
        ) == True and self.personinfo_page.wait_element(
                "男").is_selected() == False:
            print "选择项为女"
            self.personinfo_page.wait_element("男").click()
        elif self.personinfo_page.wait_element("男").is_selected(
        ) == True and self.personinfo_page.wait_element(
                "女").is_selected() == False:
            print "选择项为男"
            self.personinfo_page.wait_element("女").click()
        elif self.personinfo_page.wait_element("男").is_selected(
        ) == False and self.personinfo_page.wait_element(
                "女").is_selected() == False:
            print "选择项为隐藏"
            self.personinfo_page.wait_element("女").click()
        self.personinfo_page.screenshot("after_change_head.png")
        self.luadriver.keyevent(4)
        self.start_step("进入子游戏查看头像")
        self.start_step("获取首屏子游戏列表")
        self.see_head()
        while (self.hall_page.element_is_exist("同步标志") == False):
            self.game_page.wait_element("返回1").click()
        self.start_step("点击大厅第二页")
        if (self.game_page.element_is_exist("右三角标") == True):
            self.game_page.wait_element("右三角标").click()
        else:
            self.game_page.wait_element("左三角标").click()
        self.start_step("获取第二页的子游戏")
        self.see_head(is_next=True)

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