Ejemplo n.º 1
0
class PerTest_QIPAIHALL_Setting(TestCase):
    '''
    设置界面显示
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 60

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.setting_page = Setting_Page()
        #通过xpath获取items,是完全返回  因此针对一页显示的item数进行操作
        self.helpItemCount = 5

    def run_test(self):
        '''
        测试用例
        操作步骤:
        1、关闭悬浮球(若已是关闭状态则先打开再关闭)
        2、静音关闭(若已是关闭状态则先打开再关闭)
        3、读牌打开(若已是打开状态则先关闭再打开)
        4、音效、音乐、聊天、震动、比赛围观打开(若已是打开状态则先关闭再打开)
        5、关于查看,四个标签操作步骤:关于--服务协议--隐私策略--版号申明  列表项均滑动  从版号申明往前一直到关于我们  然后点击返回按钮返回设置页面
        6、关于游戏帮助目前所打包不支持,暂不操作
        '''
        self.hall_page.wait_element("同步标志")
        self.common.sendTagBroadcast(EnumSceneName.Setting,
                                     EnumSceneType.Start)
        try:
            self.start_step("点击大厅设置入口")
            self.hall_page.get_element("设置").click()
            self.setting_page.wait_element("同步标志")
            self.common.taskScreenShot("openSettingPop.jpg")
            # 操作各切换按钮
            self.start_step("操作各切换按钮")
            self.common.switchBtn("浮动球开关", "浮动球状态", True)
            self.common.taskScreenShot("closeFloatBall.jpg")
            self.common.switchBtn("静音开关", "静音状态", True)
            self.common.switchBtn("读牌开关", "读牌状态", False)
            self.common.switchBtn("聊天开关", "聊天状态", False)
            self.common.switchBtn("震动开关", "震动状态", False)
            self.common.switchBtn("比赛围观开关", "比赛围观状态", False)

            # 查看关于弹框
            self.start_step("查看关于内容")
            self.setting_page.get_element("关于入口", 0).click()
            self.setting_page.wait_element("关于同步标志")
            self.common.taskScreenShot("setting_about_pop.jpg")
            self.setting_page.get_element("关于我们").click()
            time.sleep(1)
            self.setting_page.get_element("服务协议").click()
            time.sleep(1)
            self.setting_page.get_element("隐私策略").click()
            time.sleep(1)
            self.setting_page.get_element("版本声明").click()
            time.sleep(1)
            self.setting_page.get_element("退出关于", 0).click()

            #查看游戏帮忙
            self.start_step("查看游戏帮助")
            self.setting_page.get_element("游戏帮助入口").click()
            self.setting_page.wait_element("游戏帮助同步标志")
            self.common.taskScreenShot("setting_help_pop.jpg")
            tabList = self.setting_page.get_element("tab列表")
            tabItems = self.setting_page.get_elements("tabItem")
            self.start_step("切换tab,查看不同类型游戏帮助")
            for i in range(self.helpItemCount):
                if (tabItems[i] != None):
                    tabItems[i].click()
                    time.sleep(1)
            if (len(tabItems) > self.helpItemCount):
                self.start_step("滑动左侧tab列表")
                self.common.swipeList(tabList)
            self.setting_page.get_element("退出游戏帮助").click()

            # 退出设置弹框
            self.setting_page.get_element("退出设置", 0).click()
        except:
            self.common.platformLog("设置页面操作失败")
        finally:
            self.common.checkPopVisible(self.setting_page)
            self.hall_page.wait_element("同步标志")

        time.sleep(5)
        self.common.sendTagBroadcast(EnumSceneName.Setting, EnumSceneType.Stop)
Ejemplo n.º 2
0
class PerTest_QIPAIHALL_Mall(TestCase):
    '''
    商城操作
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.mall_Page = Mall_Page()

    def run_test(self):
        '''
        测试步骤
        1、大厅点击商城入口
        2、点击第一金条购买item,关闭购买框
        3、滑动金条购买列表
        4、切换到银币购买列表
        5、滑动银币购买列表
        6、切换到道具列表
        7、执行购买第一个道具操作,打开购买弹框后取消购买操作
        8、滑动道具列表
        9、切换到VIP页
        10、返回大厅
        不同类型的商品列表,共用listView和Item
        '''
        self.hall_page.wait_element("同步标志")

        self.start_step("点击大厅商城入口")
        self.common.sendTagBroadcast(EnumSceneName.Mall, EnumSceneType.Start)

        try:
            #点击商城
            self.hall_page.get_element("商城", 0).click()
            time.sleep(2)
            self.mall_Page.wait_element("同步标志")
            self.common.taskScreenShot("openMallPop.jpg")

            #购买金条(选择第一个item)并滑动金条列表
            self.start_step("购买金条")
            self.mall_Page.get_element("item0", 0).click()
            self.mall_Page.wait_element("金条购买框Flag")
            self.common.taskScreenShot("buyGoldPop.jpg")
            self.mall_Page.get_element("金条购买框关闭", 0).click()
            time.sleep(1)
            self.start_step("滑动金条列表")
            self.common.swipeList(self.mall_Page.get_element("物品列表"))

            #切换到银币页并滑动列表
            self.start_step("切换到银币Tab")
            self.mall_Page.get_element("银币Tab", 0).click()
            time.sleep(2)
            self.common.taskScreenShot("silverView.jpg")
            self.start_step("滑动银币列表")
            self.common.swipeList(self.mall_Page.get_element("物品列表"))

            #切换到道具页面,并查看购买道具框,最后滑动列表
            self.start_step("切换到道具Tab")
            self.mall_Page.get_element("道具Tab", 0).click()
            time.sleep(2)
            self.common.taskScreenShot("propView.jpg")
            self.start_step("购买道具")
            self.mall_Page.get_element("item0", 0).click()
            self.mall_Page.wait_element("道具购买框Flag")
            self.common.taskScreenShot("buyPropPop.jpg")
            self.mall_Page.get_element("道具购买框关闭", 0).click()
            time.sleep(1)
            self.start_step("滑动道具列表")
            self.common.swipeList(self.mall_Page.get_element("物品列表"))

            #切换到VIP
            self.start_step("切换到VIPTab")
            self.mall_Page.get_element("VIPTab", 0).click()
            time.sleep(2)
            self.common.taskScreenShot("vipView.jpg")

            #关闭商城弹框
            self.mall_Page.get_element("商城关闭", 0).click()

        except:
            self.common.platformLog("操作商城失败")

        finally:
            self.common.checkPopVisible(self.mall_Page)
            self.hall_page.wait_element("同步标志")

        time.sleep(5)
        self.common.sendTagBroadcast(EnumSceneName.Mall, EnumSceneType.Stop)
Ejemplo n.º 3
0
class PerTest_QIPAIHALL_Task(TestCase):
    '''
    任务场景
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 60

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.task_page = Task_Page()

    def run_test(self):
        '''
        任务场景测试步骤
        :return:
        '''
        self.hall_page.wait_element("同步标志")
        self.start_step("点击大厅任务入口")
        self.common.sendTagBroadcast(EnumSceneName.Task, EnumSceneType.Start)
        try:
            self.hall_page.get_element("任务", 0).click()
            self.task_page.wait_element("同步标志")
            self.task_page.wait_element("每日签到tab").click()
            time.sleep(2)
            self.common.taskScreenShot("qiandaoView.jpg")

            #若今日签到按钮存在,则点击
            try:
                #若按钮存在并签到成功,会直接跳转到补签页面
                self.task_page.get_element("签到按钮", 0).click()
                time.sleep(1)
            except:
                self.common.platformLog("今日签到按钮不存在or领取今日签到奖励失败")

            #查看购买补签卡界面
            self.start_step("购买补签卡界面")
            self.task_page.wait_element("获取补签卡").click()
            self.task_page.wait_element("补签卡购买框同步标志")
            self.common.taskScreenShot("buyBuqianPop.jpg")
            self.task_page.get_element("取消购买补签卡").click()
            time.sleep(1)

            #进行补签操作,目前没有实际进行补签操作  只是查看补签框
            # try:
            #     buItmes = self.task_page.get_elements("补签item")
            #     print "长度:"+len(buItmes)
            #     if(buItmes != None and len(buItmes) > 0):
            #         buItmes[0].click()
            #         self.task_page.wait_element("补签对话框标志")
            #         time.sleep(1)
            #         self.task_page.get_element("关闭补签对话框").click()
            #     else:
            #         print "!! buItmes != null and len(buItmes) > 0"
            # except:
            #     print "没有可补签项,或执行补签操作失败"

            #查看每日任务列表,若列表可滑动则进行滑动操作
            self.start_step("查看每日任务界面")
            self.task_page.get_element("每日任务tab").click()
            try:
                listView = self.task_page.wait_element("taskList")
                self.common.taskScreenShot("taskView.jpg")
                taskItems = self.task_page.get_elements("taskItem", 0)
                if (len(taskItems) > 4):
                    self.start_step("滑动每日任务列表")
                    self.common.swipeList(listView)
            except:
                self.common.platformLog("查看任务列表失败")

            #关闭每日任务弹框
            self.task_page.get_element("关闭按钮", 0).click()
        except:
            self.common.platformLog("操作任务场景失败")
        finally:
            self.common.checkPopVisible(self.task_page)
            self.hall_page.wait_element("同步标志")

        time.sleep(5)
        self.common.sendTagBroadcast(EnumSceneName.Task, EnumSceneType.Stop)
Ejemplo n.º 4
0
class PerTest_QIPAIHALL_Rank(TestCase):
    '''
    排行榜操作
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5
    global rank_item_count
    rank_item_count = 4

    #一页显示item个数

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.rankPage = Rank_Page()

    def run_test(self):
        '''
        测试步骤
        排行榜内容会重置,当关闭或切换tab后回到默认位置  eg。关闭后再打开默认显示今日内容   切换到新tag后,list index变为0
        操作步骤:
        1、检测同步标志是否出现
        2、点击第一个item,操作加好友   然后关闭用户信息弹框回到排行榜页面
        3、点击第二个item,操作举报(不良头像,然后点击举报按钮)
        4、滑动列表到底
        5、切换到富豪榜,滑动一页数据
        6、切换到昨日排行榜,滑动昨日之富豪榜一页数据
        7、切换tab到昨日收益榜  滑动一页数据
        8、关闭弹框,返回大厅
        '''
        self.hall_page.wait_element("同步标志")

        #点击排行榜大厅入口,进入排行榜
        self.start_step("点击大厅排行榜入口")
        self.common.sendTagBroadcast(EnumSceneName.Rank, EnumSceneType.Start)

        try:
            self.hall_page.get_element("排行榜", 0).click()
            time.sleep(2)
            self.rankPage.wait_element("同步标志")
            self.common.taskScreenShot("openRankPop.jpg")
            headEls = self.rankPage.get_elements("用户头像")
            # 查看排行第一的用户信息,并执行加好友操作
            if len(headEls) >= 1:
                self.start_step("查看rank1的用户信息,并加为好友")
                headEls[0].click()
                self.rankPage.wait_element("用户信息框同步标志")
                self.common.taskScreenShot("playerInfoPop.jpg")
                time.sleep(1)
                self.rankPage.get_element("加好友", 0).click()
                time.sleep(1)
                self.rankPage.get_element("用户信息框关闭按钮", 0).click()

            # 查看排行第二的用户信息,并执行举报操作
            if len(headEls) >= 2:
                self.start_step("查看rank2的用户信息,并执行查看举报弹框然后取消举报")
                headEls[1].click()
                self.rankPage.wait_element("用户信息框同步标志")
                time.sleep(1)
                self.rankPage.get_element("举报", 0).click()
                time.sleep(1)
                self.common.taskScreenShot("reportOtherpop.jpg")
                self.rankPage.wait_element("色情昵称").click()
                time.sleep(1)
                self.rankPage.get_element("取消举报", 0).click()

            # 滑动今日收益排行榜,并滑动到底
            self.start_step("滑动今日收益榜,并滑动到底")
            self.common.taskScreenShot("todayIncomeRank.jpg")
            self.swipeListView(True)

            # 切换到昨日富豪榜,并将列表滑动一页
            self.start_step("滑动一页昨日富豪榜")
            self.rankPage.get_element("日期", 0).click()
            time.sleep(1)
            self.common.taskScreenShot("yesterdayRegalRank.jpg")
            # 当文字发生改变时,表示切换成功
            while self.rankPage.get_element("日期文字").get_attribute(
                    "text") == '昨日':
                None
                self.swipeListView(False)

            # 返回大厅
            self.rankPage.get_element("返回大厅", 0).click()
        except:
            self.common.platformLog("排行榜操作失败")
        finally:
            self.common.checkPopVisible(self.rankPage)
            self.hall_page.wait_element("同步标志")

        time.sleep(5)
        self.common.sendTagBroadcast(EnumSceneName.Rank, EnumSceneType.Stop)

    def swipeListView(self, loop):
        '''
        滑动指定列表
        :param listName:  列表元素名
        :param itemName:  列表item元素名
        :param loop:  是否循环滑动到底
        :return:
        '''
        listView = None
        itemViews = None
        try:
            listView = self.rankPage.get_element("排行榜列表")
            # itemViews = self.rankPage.get_elements("排行榜item")
        except:
            self.common.platformLog("排行榜指定列表元素不存在,结束列表滑动测试")
            return

        cnt = 1
        while cnt < 10:
            # for item in itemViews:
            #     Common.printStr("item x y:",item.location["x"]," ",item.location["y"])
            # self.com.swipeList(listView)
            # if loop == False:
            #     break
            # itemViews = self.rankPage.get_elements("排行榜item")
            self.common.swipeList(listView)
            if loop == False:
                break
            cnt = cnt + 1
            time.sleep(0.2)
        time.sleep(1)