예제 #1
0
class D25763_FourRoom_Cards_Display(TestCase):
    '''
    房间内底牌及倍数显示是否正常
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15
    pending = True

    def pre_test(self):
        self.common = Common()
        self.start_step("设置金币数为30001")
        global mid, money
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money(mid, 30001)
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进入四人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments = self.hall_page.get_elements("游戏列表")
            elments[3].click()
        self.start_step("查看房间列表")
        elments = self.level_page.get_elements("房间列表")
        self.start_step("进入房间")
        difenlist = {'1': '10', '2': '50', '3': '100'}
        for j in range(len(elments) / 2):
            if j < 3:
                self.start_step("进入第%s个房间" % (j + 1))
                elments[j].click()
                time.sleep(5)
                self.game_page.wait_element("四人场房间底分")
                self.game_page.screenshot("第%s个房间底分为%s.png" %
                                          ((j + 1), difenlist[str(j + 1)]))
                image_element = self.game_page.wait_element("四人场房间底分")
                beishutext = self.common.image_text(image_element)
                # if beishutext.isdigit():
                #     self.assert_equal("底分展示",actual=beishutext,expect=difenlist[str(j+1)])
                while self.game_page.element_is_exist("退出"):
                    self.game_page.wait_element("退出").click()
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
예제 #2
0
class D25759_FourRoom_Enter(TestCase):
    '''
    玩家金币不足
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15
    pending = True

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money(mid, 4000)
        self.hall_page = Hall_Page()
        self.level_page = Level_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去四人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments = self.hall_page.get_elements("游戏列表")
            elments[3].click()
        elments = self.level_page.get_elements("房间列表")
        print len(elments)
        for j in range(len(elments) / 2):
            self.start_step("点击第%s个房间" % (j + 1))
            elments[j].click()
            try:
                self.level_page.wait_element("关闭2").click()
            except:
                self.log_info("未出现此按钮")
            self.game_page.element_is_exist("立即购买")
            self.assert_equal(
                "检查是否出现立即购买",
                self.level_page.wait_element("立即购买文本").get_attribute("text") ==
                "立即购买")
            self.game_page.screenshot("点击第%s个房间界面.png" % (j + 1))
            self.hall_page.wait_element("关闭1").click()
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
예제 #3
0
class Game_Page(Element):
    def to_hall_page(self, element):
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        if not self.hall_page.element_is_exist(element, 2):
            try:
                self.game_page.wait_element("返回").click()
                self.game_page.wait_element("离开").click()
                while self.game_page.element_is_exist("确定1", 2):
                    self.game_page.wait_element("确定1").click()
                while self.game_page.element_is_exist("返回大厅", 2):
                    self.game_page.wait_element("返回大厅").click()
            except:
                print "未出现此元素"
예제 #4
0
class D25770_FourRoom_Money_Display(TestCase):
    '''
    金币和元宝信息显示正常
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        global mid, money
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money("mid", value="5000")
        money = Interface.get_money(mid)
        self.log_info("金币数:%s" % money)
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进入四人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments = self.hall_page.get_elements("游戏列表")
            elments[3].click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        time.sleep(5)
        self.game_page.screenshot("金币元宝显示.png")
        image_element = self.game_page.wait_element("购买金币")
        text = self.common.image_text(image_element)
        self.log_info("text:" + text)
        self.start_step("接口获取的金币数目为:%s,界面获取的金币数目为:%s,核对是否一致" % (money, text))
        # if text.isdigit():
        #     self.assert_equal("金币数是否一致",actual=text,expect=money)
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
class D25708_DoubleLaizi_Quickstart(TestCase):
    '''
    金币不足,快速开始
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money(mid, 999)
        self.hall_page = Hall_Page()
        self.level_page = Level_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            print len(elments1)
            elments1[1].click()
        self.level_page.wait_element("快速开始").click()
        try:
            self.level_page.wait_element("关闭2").click()
        except:
            self.log_info("未出现此按钮")
        self.game_page.element_is_exist("立即购买")
        self.assert_equal(
            "检查是否出现立即购买",
            self.level_page.wait_element("立即购买文本").get_attribute("text") ==
            "立即购买")
        self.game_page.screenshot("快速开始界面.png")
        self.hall_page.wait_element("关闭1").click()
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
예제 #6
0
class D25726_DoubleLaizi_Money_Display(TestCase):
    '''
    房间金币元宝显示
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        global money
        money = 1000
        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=money)

    def run_test(self):
        self.start_step("进入双癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[1].click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        time.sleep(5)
        self.game_page.screenshot("金币元宝显示.png")
        elment1 = self.game_page.wait_element("购买金币")
        text = self.common.image_text(elment1)
        self.log_info("text:" + text)
        self.start_step("界面获取的金币数目为:%s,核对是否一致" % text)
        env = self.common.get_config_value('casecfg', 'env')
        if env == "0":
            if text.isdigit():
                self.game_page.screenshot("界面金币数")
                self.log_info("当前为正式服,界面获取的金币数目为:%s" % text)
        elif env == "1":
            if text.isdigit():
                self.assert_equal("当前为测试服,判断金币数是否一致", actual=int(text) == 1000)
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        self.game_page.is_in_gameroom(self.luadriver)
        self.common.closedriver()
예제 #7
0
class D25748_LaiziRoom_Money_Display(TestCase):
    '''
    房间金币元宝显示
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15
    pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[1].click()
            self.game_page.wait_element("切换按钮").click()
            elments = self.game_page.get_elements("切换玩法")
            elments[0].click()
            # self.level_page.wait_element("快速开始").click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        time.sleep(5)
        self.game_page.screenshot("金币元宝显示.png")
        elment1 = self.game_page.wait_element("购买金币")
        text = self.common.image_text(elment1)
        self.log_info("text:" + text)
        if text.isdigit():
            self.start_step("界面获取的金币数目为:%s" % text)
        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()
예제 #8
0
class D25758_FourRoom_Displays(TestCase):
    '''
    金币不足
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money(mid, 1000)
        self.hall_page = Hall_Page()
        self.level_page = Level_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去四人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments = self.hall_page.get_elements("游戏列表")
            elments[3].click()
        self.start_step("点击快速开始")
        self.level_page.wait_element("快速开始").click()
        self.level_page.screenshot("破产点击快速开始出现的界面.png")
        try:
            self.level_page.wait_element("关闭2").click()
        except:
            self.log_info("未出现此按钮")
        self.level_page.element_is_exist("立即购买")
        self.assert_equal(
            "检查是否出现立即购买",
            self.level_page.wait_element("立即购买文本").get_attribute("text") ==
            "立即购买")
        self.level_page.screenshot("立即购买")

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
예제 #9
0
class D25684_LaiziRoom_Switch(TestCase):
    '''
    天地癞子与普通癞子切换正常
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15
    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进入癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            print len(elments1)
            elments1[1].click()
        self.start_step("查看天地癞子界面")
        self.game_page.element_is_exist("天地癞子")
        self.hall_page.screenshot("天地癞子房间列表.png")
        self.start_step("切换到癞子场")
        self.game_page.wait_element("切换按钮").click()
        elments = self.game_page.get_elements("切换玩法")
        elments[0].click()
        time.sleep(3)
        self.game_page.element_is_exist("天地癞子") == False
        # self.level_page.wait_element("快速开始").click()
        self.game_page.screenshot("癞子场.png")

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #10
0
class D25703_LaiziRoom_Change_Table(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.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去癞子场")
        while self.hall_page.element_is_exist("游戏列表",1):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[1].click()
            self.game_page.wait_element("切换按钮").click()
            elments = self.game_page.get_elements("切换玩法")
            elments[0].click()
            # self.level_page.wait_element("快速开始").click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        time.sleep(6)
        self.game_page.wait_element("换桌").click()
        self.level_page.screenshot("换桌.png",sleeptime=0)
        self.level_page.screenshot("换桌1.png",sleeptime=1)
        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()
예제 #11
0
class D25774_FourRoom_Change_Table(TestCase):
    '''
    换桌
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        global mid, money
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_money(mid, 5000)
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去四人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[3].click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        time.sleep(6)
        self.game_page.wait_element("换桌").click()
        self.level_page.screenshot("换桌.png")
        self.level_page.screenshot("换桌1.png")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
            self.common.set_money(mid, 5000)
        finally:
            self.common.closedriver()
예제 #12
0
class D25685and25686_LaiziRoom_Effect(TestCase):
    '''
    金币推荐场次特效
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.level_page = Level_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def run_test(self):
        self.start_step("进去癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[1].click()
            self.game_page.wait_element("切换按钮").click()
            elments = self.game_page.get_elements("切换玩法")
            elments[0].click()
            self.level_page.wait_element("快速开始").click()
        self.start_step("查看场次特效")
        self.game_page.screenshot("场次界面特效_1.png", sleeptime=2)
        self.game_page.screenshot("场次界面特效_2.png", sleeptime=0)
        self.game_page.screenshot("场次界面特效_3.png", sleeptime=0)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #13
0
class D25753_ThreeRoom_Change_Table(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.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去三人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            print len(elments1)
            elments1[2].click()
        self.start_step("查看房间列表")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        self.game_page.wait_element("换桌").click()
        self.level_page.screenshot("换桌.png")
        self.level_page.screenshot("换桌1.png")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #14
0
class D25707and25710_DoubleLaizi_Display(TestCase):
    '''
    双癞子场界面
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=3000)

    def run_test(self):
        while self.game_page.element_is_exist("同步标志"):
            self.game_page.exit_game()
        self.hall_page.wait_element("同步标志")
        self.start_step("进入癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            print len(elments1)
            elments1[1].click()
        self.start_step("查看天地癞子界面")
        self.game_page.element_is_exist("天地癞子")
        self.start_step("查看场次特效")
        self.game_page.screenshot("场次界面特效_1.png", sleeptime=2)
        self.game_page.screenshot("场次界面特效_2.png", sleeptime=0)
        self.game_page.screenshot("场次界面特效_3.png", sleeptime=0)

    def post_test(self):
        self.common.closedriver()
예제 #15
0
class D25737_ThreeRoom_InAndOut(TestCase):
    '''
    房间内按钮跳转
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20

    # print "开始"
    # 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("游戏列表")
            print len(elments1)
            elments1[2].click()
        self.start_step("查看房间列表")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        self.game_page.wait_element("聊天")
        self.game_page.screenshot("第一次进房间.png")
        self.start_step("点击退出键退出房间")
        i = 0
        while self.game_page.element_is_exist("退出"):
            self.game_page.wait_element("退出").click()
            i += 1
            self.log_info("点击退出次数:%s" % i)
        self.level_page.wait_element("同步标志")
        self.hall_page.screenshot("点击退出键退出房间.png")
        self.level_page.wait_element("房间列表").click()
        self.game_page.wait_element("聊天")
        self.game_page.screenshot("第二次进房间.png")
        self.start_step("点击物理返回键退出房间")
        while self.game_page.element_is_exist("同步标志"):
            self.luadriver.keyevent(4)
            time.sleep(4)
            self.log_info("点击物理返回键")
        self.level_page.wait_element("同步标志", 30)
        self.hall_page.screenshot("物理返回键退出房间.png")
        self.level_page.wait_element("房间列表").click()
        self.game_page.wait_element("聊天")
        self.game_page.screenshot("第三次进房间.png")
        self.start_step("点击开始按钮")
        self.game_page.wait_element("开始", 30).click()
        self.hall_page.screenshot("点击开始按钮.png")
        i = 0
        while self.game_page.element_is_exist("退出"):
            self.game_page.wait_element("退出").click()
            i += 1
            self.log_info("点击退出次数:%s" % i)
            if i > 5:
                while self.game_page.element_is_exist("出牌", 1) == False:
                    list = ["抢地主", "叫地主", "不加倍", "加倍"]
                    self.log_info("叫地主中")
                    for name in list:
                        try:
                            self.game_page.wait_element(name, 1).click()
                        except:
                            self.log_info("未出现抢地主按钮")
                    if self.game_page.element_is_exist("继续游戏", 1):
                        break
                self.start_step("托管")
                if self.game_page.element_is_exist("机器人") == False:
                    self.game_page.wait_element("托管").click()
                while self.game_page.element_is_exist("继续游戏", 1) == False:
                    time.sleep(1)
                    self.log_info("正在游戏中")
                self.start_step("退出玩牌房间")
                self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #16
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()
예제 #17
0
class base(TestCase):
    def pre_test(self, propsCount):
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.common = Common()
        mid = self.common.get_config_value("casecfg", "mid")
        #         PHPInterface
        self.start_step("初始化driver")
        self.driver = self.common.setupdriver()
        self.start_step("关闭弹出框")
        self.common.closeactivity(self.driver)

    def test(self, useCount=1):
        def test_game(gameId):

            headsEle = self.game_page.get_elements("头像frame")
            propsEle = self.game_page.get_elements("道具")
            headsEle[0].click()
            self.game_page.screenshot(gameId + "_propsDisplay" + ".png")
            propsEle[0].click()
            self.game_page.screenshot(gameId + "_self_interactive" + ".png")
            if len(headsEle) > 1:
                count = self.useCount
                while count > 0:
                    headsEle[1].click()
                    propsEle[0].click()
                    count = count - 1

                self.game_page.screenshot(gameId + "_playerB_interactive" +
                                          ".png")
                propsEle[0].click()
                self.game_page.screenshot(gameId + "_afterUse_display" +
                                          ".png")
            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()
                gameId = gameElement.get_attribute("name")
                PHPInterface.set_robot_flag(re.search("\d+", gameId), 0, 0, 12,
                                            1)
                if self.game_page.element_not_exist("广播"):
                    self.game_page.click_game_play()
                self.game_page.get_elements("房间场次")[0].click()
                test_game(gameId)
                PHPInterface.set_robot_flag(re.search("\d+", gameId), 0, 0, 12,
                                            0)
                while True:
                    if self.hall_page.element_is_exist("客服", 3):
                        break
                    self.driver.back()

        self.useCount = useCount
        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()
예제 #18
0
class C27386_quicklyStartGame_coinsBankruptcy(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):
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        print mid
        def test_game(gameElement, needClickRight, isSafeBox = False):
            gameId = gameElement.get_attribute("name")
            self.start_step("进入子游戏%s " % gameId)
            levelConfig = PHPInterface.get_levelconfig(re.search('\d+', gameId).group(), 0, 0, 12)
            bankrupt_limit = int(levelConfig.get("values").get("BANKRUPT_LIMIT"))
            print bankrupt_limit
            global screenName
            screenName = gameId
            if isSafeBox:
                self.common.set_safeBoxMoney(mid, bankrupt_limit+100, 0)
                self.common.set_coin(mid, bankrupt_limit-100)
                screenName = screenName+'_safeBox_have_money.png'
            else:
                self.common.set_safeBoxMoney(mid, 0, 0)
                self.common.set_coin(mid, bankrupt_limit-100)
                screenName = screenName+'_safeBox_no_money.png'
            
            self.common.switchserver()
            self.common.closeActivityBtn()
            
            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()
                return
            self.game_page.game_is_download()
            if self.game_page.element_not_exist("广播"):
                self.game_page.click_game_play()
                
#             if needClickRight and self.hall_page.element_is_exist("右三角"):
#                 self.hall_page.wait_element("右三角").click()

            self.start_step("开始快速开场测试"+gameId)
            # gameElement.click()
            #
            self.game_page.wait_element("快速开始").click()
            time.sleep(2)
            self.game_page.screenshot(screenName)
            while self.hall_page.element_is_exist("关闭对话框", 3):
                self.hall_page.wait_element("关闭对话框").click()
            # while True:
            #     self.driver.back()
            #     if(self.hall_page.element_is_exist("预发布")):
            #         break
        
        def traverseGameList(gameList, needClickRight=False):
            for gameElement in gameList:
                
                    
                test_game(gameElement, needClickRight, False)
                test_game(gameElement, needClickRight, True)
#                 try:
#                     test_game(gameElement, needClickRight, False)
#                     test_game(gameElement, needClickRight, True)
#                 except:
#                     self.game_page.screenshot(gameElement.get_attribute("name")+"_failed.png")
#                 self.start_step("开始快速开场测试")
#                 # gameElement.click()
#                 self.game_page.wait_element("快速开始").click()
#                 self.game_page.screenshot(screenName)
                while True:
                    if(self.hall_page.element_is_exist("客服")):
                        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.recover_user(mid)
        self.common.closedriver()
예제 #19
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)
예제 #20
0
class Common():
    def __init__(self):
        self.log = Logger().get_logger()

    def platformLog(self,*arg):
        logStr = ""
        for v in arg:
            if type(v) != str:
                v = str(v)
            logStr = logStr + " " + v
        self.log.info(logStr)

    def setupdriver(self,agrs={}):
        '''初始化driver
        luadriver 用于游戏操作,对应appium
        '''
        # 初始化Luadriver
        self.luaobj = LuaDriver()
        self.luaobj.creatLuaDriver(agrs)
        self.luadriver = self.luaobj.getLuaDriver()
        return self.luadriver

    def closedriver(self):
        '''关闭driver
        '''
        self.luaobj.closeLuadriver()

    def closefloatBall(self):
        self.hall_page = Hall_Page()
        self.setting_page = Setting_Page()
        self.hall_page.wait_element("设置").click()
        try:
            self.setting_page.wait_element("关闭浮动球").click()
        except:
            print "浮动球已经关闭"
        try:
            self.setting_page.wait_element("页面返回").click()
        except:
            print "已经关闭"

    def deletefile(self,driver):
        print "----删除自动登录文件----"
        config = ConfigHelper(constant.cfg_path)
        package =config.getValue('appium', 'apppackage')
        command = "shell rm -r /mnt/sdcard/."+package+"/dict/lastLoginInfo.dat"
        print command
        try:
            driver.adb(command)
        except:
            print "命令执行失败"
        command1 = "shell rm -r /mnt/sdcard/."+package+"/dict/1lastLoginInfo.dat"
        print command1
        try:

            driver.adb(command1)
        except:
            print "命令执行失败"
        command2 = "shell rm -r /mnt/sdcard/."+package+"/dict/2lastLoginInfo.dat"
        try:
            driver.adb(command2)
        except:
            print "命令执行失败"
        print command2

    def closeactivity(self,luadriver):
        '''
       关闭活动页面
       '''
        self.hall_page = Hall_Page()
        time.sleep(20)
        # try:
        #     if(self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("允许")')!=None):
        #         self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("允许")').click()
        # except:
        #     print "未出现允许按钮"

        self.hall_page.wait_element("头像",90)
        # try:
        #     if(self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("允许")')!=None):
        #         self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("允许")').click()
        # except:
        #     print "未出现允许按钮"
        try:
            self.hall_page.wait_element("新手任务",8).click()
        except:
            print "未出现新手任务按钮"
        try:
            self.hall_page.wait_element("确认登陆",2).click()
        except:
            print "未出现登陆按钮"
        try:
            self.hall_page.wait_element("立即升级绑定账号",2).click()
            self.sign_page.wait_element("关闭1",2).click()
        except:
            print "未出现立即升级绑定账号按钮"

        #2017-9-27 JessicZeng  增加关闭版本升级框
        try:
            self.hall_page.wait_element("资源下载-取消",2).click()
        except:
            print "未出现版本升级框"


        self.closeActivityBtn()
        # try:
        #     luadriver.find_element_by_name("允许").click()
        # except:
        #     print "未出现按钮"


    def closeactivity_switchserver(self,luadriver):
        '''
        关闭活动页面,切换到指定服,然后再关闭弹出的活动页面
        :param luadriver:
        :param switchserver:
        :return:
        '''
        self.closeactivity(luadriver)
        self.switchserver_init()
        self.closeactivity(luadriver)

    def switchserver(self):
        '''
        根据cfg文件切换正式服,测试服,预发布服
        @return:
        '''
        self.hall_page = Hall_Page()
        env = self.get_config_value('casecfg', 'env')
        if env=='0':
            try:
                self.hall_page.wait_element("正式服").click()
            except:
                print "切换到正式服失败"
        elif env =='1':
            try:
                self.hall_page.wait_element("测试服").click()
            except:
                print "切换到测试服失败"
        elif env =='2':
            try:
                self.hall_page.wait_element("预发布").click()
            except:
                print "切换到预发布失败"
        else:
            try:
                self.hall_page.wait_element("预发布").click()
            except:
                print "切换到预发布服失败"
    time.sleep(5)

    def switchserver_init(self):
        '''
        根据cfg文件切换正式服,测试服,预发布服
        @return:
        '''
        self.hall_page = Hall_Page()
        env = self.get_config_value('casecfg', 'env')
        if self.hall_page.element_is_exist("测试按钮"):
            self.hall_page.wait_element("测试按钮").click()
            if self.hall_page.element_is_exist("切换环境"):
                self.hall_page.wait_element("切换环境").click()
                if env == '0':
                    try:
                        # while self.hall_page.element_is_exist("正式1", 2):
                            self.hall_page.get_element("正式1").click()
                    except:
                        print "切换到正式服失败"
                elif env == '1':
                    try:
                        # while self.hall_page.element_is_exist("测试1",2):
                            self.hall_page.get_element("测试1").click()
                    except:
                        print "切换到测试服失败"
                elif env == '2':
                    try:
                        # while self.hall_page.element_is_exist("预发布1", 2):
                            self.hall_page.get_element("预发布1").click()
                    except:
                        print "切换到预发布失败"
                else:
                    try:
                        # while self.hall_page.element_is_exist("预发布1", 2):
                            self.hall_page.get_element("预发布1").click()

                    except:
                        print "切换到预发布服失败"
            else:
                self.hall_page.wait_element("关闭测试页面").click()
                if env=='0':
                    try:
                        self.hall_page.wait_element("正式服").click()
                    except:
                        print "切换到正式服失败"
                elif env =='1':
                    try:
                        self.hall_page.wait_element("测试服").click()
                    except:
                        print "切换到测试服失败"
                elif env =='2':
                    try:
                        self.hall_page.wait_element("预发布").click()
                    except:
                        print "切换到预发布失败"
                else:
                    try:
                        self.hall_page.wait_element("预发布").click()
                    except:
                        print "切换到预发布服失败"
            time.sleep(15)

    def closeActivityBtn(self):
        '''
        关闭活动弹框
        :return:
        '''
        self.sign_page = Sign_Page()
        self.hall_page = Hall_Page()
        try:
            self.hall_page.wait_element("新手任务",6).click()
        except:
            print "未出现新手任务按钮"
        i = 0
        while (i < 5):
            i += 1
            try:
                self.sign_page.wait_element("关闭1",3).click()
            except:
                print "关闭对话框"

    def switchnetwork(self, luadriver, network):
        '''
        测试用例运行过程中切换网络
        '''
        if(network == '无网络'):
            print "设置为无网络状态"
            luadriver.set_network_connection(ConnectionType.NO_CONNECTION)
        if(network == 'WIFI模式'):
            print "设置为WIFI模式"
            luadriver.set_network_connection(ConnectionType.WIFI_ONLY)
        if(network == '数据网络'):
            print "设置为数据网络模式"
            luadriver.set_network_connection(ConnectionType.DATA_ONLY)
        if(network == '飞行模式'):
            print "设置为飞行模式"
            luadriver.set_network_connection(ConnectionType.AIRPLANE_MODE)
        if(network == '全部网络打开模式'):
            print "设置为全部网络打开模式"
            luadriver.set_network_connection(ConnectionType.ALL_NETWORK_ON)

    def network_connect(self):
        '''
        2个线程的方式启动网络
        '''
        # print self.luadriver.network_connection
        if self.luadriver.network_connection != 2:
            t1 = threading.Thread(target=self.switch_network)
            t2 = threading.Thread(target=self.closebtn)
            t1.start()
            t2.start()
            t1.join()
            t2.join()

    def switch_network(self):
        '''
        测试用例运行过程中切换网络
        '''
        cmd = "shell am start -n com.example.unlock/.Unlock"
        print "adb start:" + str(time.time())
        self.luadriver.adb(cmd)
        print "adb end:" + str(time.time())

    def closebtn(self):
        time.sleep(1)
        print "closebtn" + str(time.time())
        try:
            self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("确定|允许")').click()
            print "close1" + str(time.time())
        except:
            print "1" + str(time.time())
        try:
            self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("确定|允许")').click()
            print "close2" + str(time.time())
        except:
            print "2" + str(time.time())
        try:
            self.luadriver.find_element_by_android_uiautomator('new UiSelector().textMatches("确定|允许")').click()
            print "close3" + str(time.time())
        except:
            print "3" + str(time.time())

    def swipeelement(self,element1,element2):
        # swipe_startx = element1.location['x']+element1.size['width']/2
        # swipe_starty = element1.location['y']+element1.size['height']/2
        swipe_startx = element1.location['x']
        swipe_starty = element1.location['y']
        # swipe_endx = element2.location['x']+element1.size['width']/2
        # swipe_endy = element2.location['y']+element1.size['height']/2
        swipe_endx = element2.location['x']
        swipe_endy = element2.location['y']
        print swipe_startx, swipe_starty, swipe_endx, swipe_endy
        self.luadriver.swipe(swipe_startx, swipe_starty, swipe_endx, swipe_endy,1000)

    def get_user(self):
        '''
        获取账号信息
        '''
        global user_info
        user_info = user_util.gimme_afree_account()
        while user_info ==None:
            time.sleep(5)
            user_info = user_util.gimme_afree_account()
        return user_info

    def release_user(self,user):
        '''
        释放用户
        '''
        print "release"
        print user
        try:
            user_util.release_account(user)
        except:
            print "release user fail"

    def get_cid(self):
        '''获取用户cid'''
        self.personinfo_page = Personinfo_Page()
        self.personinfo_page.wait_element("头像").click()
        cid = self.personinfo_page.wait_element("账号ID").get_attribute('text')
        print "获取的用户cid为: %s" % cid
        self.personinfo_page.wait_element("关闭").click()
        if (self.personinfo_page.element_is_exist("关闭")):  # 如果弹破产弹框,则关闭
            self.personinfo_page.wait_element("关闭").click()
        return cid

    def get_mid(self):
        cid = self.get_cid()
        time.sleep(3)
        config = ConfigHelper(constant.cfg_path)
        region = config.getValue('casecfg', 'region')
        mid = PHPInterface.get_mid(cid, region)
        print "用户mid为:%s" % mid
        return mid

    def set_coin(self,mid,value):
        # 获取用户银币信息
        result_userinfo = PHPInterface.get_user_info(mid)
        myuser_info = json.loads(result_userinfo)
        coin = myuser_info.get('result', {'coin': None}).get('coin')
        AddMoney = int(value) - int(coin)
        result = PHPInterface.add_money(mid, AddMoney)
        print "用户银币数为:%s" % AddMoney,"加金币执行结果:",result

    def set_crystal(self,mid,value):
        # 设置金条数据
        result_userinfo = PHPInterface.get_user_info(mid)
        myuser_info = json.loads(result_userinfo)
        crystal = myuser_info.get('result', {'crystal': None}).get('crystal')  # 获取当前金条值
        print "用户金条数为:%s" % crystal
        AddMoney = int(value) - int(crystal)
        PHPInterface.add_crystal(mid, AddMoney)

    def loginuser(self,user,passwd):
        self.login_page = Login_Page()
        self.setting_page = Setting_Page()
        self.hall_page = Hall_Page()
        time.sleep(6)
        self.setting_page.wait_element("切换账号").click()
        time.sleep(2)
        try:
            self.setting_page.wait_element("继续登录").click()
        except:
            print "不需要继续切换"
        try:
            self.setting_page.wait_element("删除历史账号").click()
        except:
            print "无历史账号"
        time.sleep(1)
        self.setting_page.wait_element("手机号码").send_keys(user)
        time.sleep(1)
        self.setting_page.wait_element("密码").send_keys(passwd)
        time.sleep(1)
        self.setting_page.wait_element("确认登陆").click()
        time.sleep(10)
        self.hall_page.wait_element("同步标志")
        time.sleep(1)

    def get_idle_userinfo_and_mid(self):
        '''
        获取一个空闲账号的mid
        :return:
        '''
        user_info = self.get_user()
        print user_info
        UserCID = user_info.get('cid')
        config = ConfigHelper(cfg_path)
        region = config.getValue('casecfg', 'region')
        UserMID = PHPInterface.get_mid(UserCID, region)
        mid_and_userinfo = {}
        mid_and_userinfo['userinfo'] = user_info
        mid_and_userinfo['mid'] = UserMID
        return mid_and_userinfo

    def unlock(self):
        #解锁
        self.luadriver.adb("shell am start -n com.example.unlock/.Unlock")
        time.sleep(4)
        self.luadriver.keyevent(3)  # home
        time.sleep(3)
        self.luadriver.adb("shell am start -n com.example.unlock/.Unlock")
        self.luadriver.keyevent(3)  # home
        time.sleep(3)
        print "读配置,拉起游戏"
        config=ConfigHelper(constant.cfg_path)
        self.luadriver.start_activity(config.getValue('appium','apppackage'), config.getValue('appium','appactivity'))

    def get_config_value(self,section,key):
        #从cfg.ini文件获取配置项的值
        config = ConfigHelper(constant.cfg_path)
        value =config.getValue(section, key)
        return value

    def set_config_value(self,section,key,value):
        #设置cfg.ini文件获取配置项的值
        config = ConfigHelper(constant.cfg_path)
        config.modifConfig(section, key,value)
        return True

    def recover_user(self,mid):
        #初始化用户
        self.set_coin(mid,'10000')
        self.set_crystal(mid,"0")
        PHPInterface.set_vip(mid,"-1")
        self.set_safeBoxMoney(mid,0,0)
        self.set_safeBoxMoney(mid,0,1)

    def random_str(self,len):
        '''生成随机字符'''
        str = ""
        for i in range(len):
            str += (random.choice("safsdfsdfoewrweorewcvmdfadfdsafdskafaklvoreiutwuerpmvcmvasieqwoejandfsxmndje"))
        return str

    def set_safeBoxMoney(self,mid, money, money_type):
        #money_type=0银币,1为金条
        safeBoxInfo = PHPInterface.get_safebox(mid)
        if money_type == 0:
            safeBoxMoney=int(safeBoxInfo.get("safebox"))
        else:
            safeBoxMoney = int(safeBoxInfo.get("crystalsafebox"))
                
        if safeBoxMoney - money > 0:
            PHPInterface.withdraw_safebox(mid, safeBoxMoney - money, money_type)
            if money_type ==0:
                PHPInterface.add_money(mid, -(safeBoxMoney - money))
            else:
                PHPInterface.add_crystal(mid, -(safeBoxMoney - money))            
        else:
            if money_type ==0:
                PHPInterface.add_money(mid, money - safeBoxMoney)
            else:
                PHPInterface.add_crystal(mid, money - safeBoxMoney)
            
            PHPInterface.deposit_safebox(mid, money - safeBoxMoney, money_type)

    def room_set_cheat(self, game_list, switch=1):
        for i in range(len(game_list)):
            gameId = filter(lambda ch: ch in '0123456789', game_list[i].get_attribute("name"))
            if switch == 1:
                print "设置子游戏:%s 标准场为作弊场" % gameId
            else:
                print "设置子游戏:%s 标准场为非作弊场" % gameId
            for i in range(4):
                PHPInterface.set_cheat(gameid=gameId, playmode=i, switch=switch)

    def set_robot(self,gameid,level=12,robotflag=0):
        '''
        设置机器人开关
        '''
        gamecfg = PHPInterface.get_levelconfig(gameid, 0, 0, level)
        robotflag1 = gamecfg.get('values', {'ADDROBOTFLAG': None}).get('ADDROBOTFLAG')
        if (robotflag1 != robotflag):
            result = PHPInterface.set_robot_flag(gameid, 0, 0, level, robotflag=robotflag)
            print result
        return True

    def checkPopVisible(self,driver,page,flagElName="同步标志"):
        '''
        根据page同步标志判断弹框是否存在,直至元素不存在或者操作次数操作3次
        :param page: 操作页
        :param flagElName: 同步标志元素name
        :return:
        '''
        cnt = 0
        while cnt < 3:
            try:
                page.get_element(flagElName)
                if driver != None :
                    driver.keyevent(4)
                    print "关闭弹框",page
            except:
                break
            cnt = cnt + 1
예제 #21
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()
예제 #22
0
class D25742_ThreeRoom_Interaction(TestCase):
    '''
    玩家互动
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=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("游戏列表")
            print len(elments1)
            elments1[2].click()
        self.start_step("查看房间列表")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        self.start_step("开始玩牌")
        while self.game_page.element_is_exist("开始"):
            self.game_page.wait_element("开始").click()
        self.start_step("叫地主")
        while self.game_page.element_is_exist("出牌", 1) == False:
            list = ["抢地主", "叫地主", "加倍"]
            self.log_info("叫地主中")
            for name in list:
                try:
                    self.game_page.wait_element(name, 1).click()
                except:
                    self.log_info("未出现抢地主按钮")
            if self.game_page.element_is_exist("继续游戏", 1):
                break
        self.start_step("查看玩家信息")
        head_elements = self.game_page.get_elements("玩家头像")
        for i in range(1):
            head_elements[i].click()
            time.sleep(2)
            self.start_step("添加第%s个玩家为好友" % (i + 1))
            self.game_page.wait_element("添加好友").click()
            self.game_page.screenshot("添加好友%s.png" % (i + 1), sleeptime=0)
            head_elements[i].click()
            self.game_page.wait_element("发送表情").click()
            self.game_page.screenshot("发送表情%s.png" % (i + 1), sleeptime=0)
            self.game_page.screenshot("发送表情%s_1.png" % (i + 1), sleeptime=0)
            head_elements[i].click()
            self.game_page.wait_element("举报").click()
            self.game_page.wait_element("举报信息").click()
            self.game_page.screenshot("举报信息%s.png" % (i + 1), sleeptime=0)
            self.game_page.wait_element("确定").click()
            self.game_page.screenshot("确定举报%s.png" % (i + 1), sleeptime=3)
            # while self.game_page.element_is_exist("继续游戏", 1):
            #     break
            # while self.game_page.element_is_exist("QQ分享"):
            #     self.game_page.screenshot("出现分享页面.png")
            #     self.luadriver.keyevent(4)
            #     break
        self.start_step("托管")
        if self.game_page.element_is_exist("机器人") == False:
            self.game_page.wait_element("托管").click()
        while self.game_page.element_is_exist("继续游戏", 1) == False:
            time.sleep(1)
            self.log_info("正在游戏中")
        self.game_page.screenshot("结算界面.png")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #23
0
class D25754_ThreeRoom_Broke_Display(TestCase):
    '''
    结算触发封顶或破产
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=3000)

    def play_game(self):
        self.start_step("开始玩牌")
        i = 1
        while self.game_page.element_is_exist("破产对话框", 1) == False:
            while self.game_page.element_is_exist("开始"):
                self.game_page.wait_element("开始").click()
            while self.game_page.element_is_exist("继续游戏"):
                self.game_page.wait_element("继续游戏").click()
            self.start_step("开始玩第%s场牌" % i)
            starttime = time.time()
            while self.game_page.element_is_exist("正在配桌中", 1):
                time.sleep(1)
                self.log_info("正在配桌中,等待")
                endtime = time.time()
                time.sleep(3)
                try:
                    self.game_page.wait_element("换桌").click()
                except:
                    self.log_info("换桌失败")
                if (endtime - starttime) / 60 > self.timeout - 5:
                    self.game_page.is_in_gameroom(self.luadriver)
                    self.log_info("等待超时")
                    return
            while self.game_page.element_is_exist("出牌", 1) == False:
                list = ["抢地主", "叫地主", "加倍"]
                self.log_info("叫地主中")
                for name in list:
                    try:
                        self.game_page.wait_element(name, 1).click()
                    except:
                        self.log_info("未出现抢地主按钮")
                try:
                    self.game_page.wait_element("明牌X2", 2).click()
                except:
                    self.log_info("未出现明牌按钮")
                if self.game_page.element_is_exist("继续游戏", 1):
                    break
            if self.game_page.element_is_exist("机器人") == False:
                self.game_page.wait_element("托管").click()
            self.game_page.screenshot("第%s次托管玩牌.png" % i)
            while self.game_page.element_is_exist("继续游戏", 1) == False:
                time.sleep(1)
                self.log_info("正在游戏中")
            while self.game_page.element_is_exist("继续游戏", 1):
                self.game_page.screenshot("第%s次玩牌结算.png" % i)
                while self.game_page.element_is_exist("QQ分享", 1):
                    self.luadriver.keyevent(4)
                while self.game_page.element_is_exist("破产气泡"):
                    self.game_page.screenshot("三人场破产气泡.png")
                    return
                try:
                    string = "赢取达到携带金币上限"
                    string in self.game_page.wait_element(
                        "赢取达到携带金币上限").get_attribute("text")
                    self.game_page.screenshot("赢取达到携带金币上限气泡.png")
                    return
                except:
                    self.log_info("未出现气泡")
                self.game_page.wait_element("继续游戏").click()
            while self.game_page.element_is_exist("去底倍场", 1):
                self.game_page.screenshot("第%s次玩牌提示去底倍场.png" % i)
                self.game_page.wait_element("去底倍场").click()
            i += 1

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去三人场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments1 = self.hall_page.get_elements("游戏列表")
            elments1[2].click()
        self.start_step("进入房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        self.play_game()
        self.level_page.screenshot("破产界面.png")
        try:
            # self.game_page.wait_element("立即领取").click()
            self.assert_equal(
                "检查是否出现立即购买",
                self.level_page.wait_element("立即购买文本").get_attribute("text") ==
                "立即购买")
        except:
            self.log_info("未出现此按钮")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #24
0
class D25751_ThreeRoom_Account_Display(TestCase):
    '''
    房间内结算显示
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=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("游戏列表")
            print len(elments1)
            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("托管")
        if self.game_page.element_is_exist("机器人") == False:
            self.game_page.wait_element("托管").click()
        while self.game_page.element_is_exist("继续游戏", 1) == False:
            time.sleep(1)
            self.log_info("正在游戏中")
        self.game_page.screenshot("结算界面.png")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #25
0
class D25743_ThreeRoom_Setting(TestCase):
    '''
    房间内设置
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    # pending = True

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.level_page = Level_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=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("游戏列表")
            print len(elments1)
            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()
        self.start_step("叫地主")
        while self.game_page.element_is_exist("出牌", 1) == False:
            list = ["抢地主", "叫地主", "加倍"]
            self.log_info("叫地主中")
            for name in list:
                try:
                    self.game_page.wait_element(name, 1).click()
                except:
                    self.log_info("未出现抢地主按钮")
            if self.game_page.element_is_exist("继续游戏", 1):
                break
        self.start_step("设置屏蔽聊天,查看设置结果")
        self.game_page.wait_element("设置").click()
        self.game_page.wait_element("屏蔽聊天").click()
        booltext = self.game_page.wait_element("屏蔽聊天").get_attribute(
            'selected')
        self.game_page.wait_element("设置").click()
        self.game_page.wait_element("聊天").click()
        self.game_page.wait_element("常用语聊天列表").click()
        self.game_page.wait_element("聊天").click()
        self.game_page.wait_element("常用语聊天列表").click()
        if booltext == 'false':
            self.start_step("设置为非屏蔽聊天后的效果")
            self.game_page.screenshot("设置为非屏蔽聊天后截图.png")
        else:
            self.start_step("设置为屏蔽聊天后的效果")
            self.game_page.screenshot("设置为屏蔽聊天后截图.png")
            self.start_step("恢复")
            self.game_page.wait_element("设置").click()
            self.game_page.wait_element("屏蔽聊天").click()
            self.game_page.wait_element("设置").click()
        self.start_step("设置屏蔽连发表情,查看设置结果")
        self.game_page.wait_element("设置").click()
        while self.game_page.element_is_exist("屏蔽连发表情") == False:
            self.game_page.wait_element("设置").click()
        self.game_page.wait_element("屏蔽连发表情").click()
        booltext1 = self.game_page.wait_element("屏蔽连发表情").get_attribute(
            'selected')
        self.game_page.wait_element("设置").click()
        self.game_page.wait_element("玩家头像").click()
        self.game_page.wait_element("连发十次互动表情").click()
        if booltext1 == 'false':
            # self.start_step("设置为非屏蔽连发表情后的效果")
            self.game_page.screenshot("设置为非屏蔽连发表情后截图.png", sleeptime=0)
        else:
            # self.start_step("设置为屏蔽连发表情后的效果")
            self.game_page.screenshot("设置为屏蔽连发表情后截图.png", sleeptime=0)
            self.start_step("恢复")
            self.game_page.wait_element("设置").click()
            self.game_page.wait_element("设置").click()
            self.game_page.wait_element("屏蔽连发表情").click()
            self.game_page.wait_element("设置").click()
        self.start_step("托管")
        if self.game_page.element_is_exist("机器人") == False:
            self.game_page.wait_element("托管").click()
        while self.game_page.element_is_exist("继续游戏", 1) == False:
            time.sleep(1)
            self.log_info("正在游戏中")
        self.game_page.screenshot("结算界面.png")
        self.start_step("退出玩牌房间")
        self.game_page.is_in_gameroom(self.luadriver)

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #26
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()
예제 #27
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()
예제 #28
0
class C70531_Notbroke_Havesafebox(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.common.set_safeBoxMoney(mid, 10000000, money_type=0)
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    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()
                time.sleep(2)
                ele = self.hall_page.get_elements("场次名称")
                time.sleep(2)
                ele[1].click()
                #点击中级场
                try:
                    while (self.hall_page.element_is_exist("预发布") != True):
                        self.luadriver.back()
                        time.sleep(10)
                        print "等待牌局打完"
                except:
                    print "退出牌局失败"
                # 保险箱有钱,身上携带现金不够,点击中级场
                time.sleep(2)
                # 获取到进入该房间还需要xxx银币界面
                self.hall_page.screenshot("%s_1.png" % game_list[i].get_attribute("name"))
                time.sleep(2)
                if self.hall_page.element_is_exist("关闭对话框"):
                    self.hall_page.wait_element("关闭对话框").click()
                # 点击关闭按钮
                    time.sleep(2)
                elif 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.bian_li()
        self.hall_page.wait_element("换页").click()
        self.bian_li(True)


    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.recover_user(mid)
        self.start_step("从保险箱取出银币")
        self.common.set_safeBoxMoney(mid, 0, 0)
        self.common.closedriver()
예제 #29
0
class D0003_LaiziRoom_GamePlay_Moretime(TestCase):
    '''
    癞子场玩牌
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 70

    # pending = True

    def pre_test(self):
        global starttime, endtime
        starttime = time.time()
        self.common = Common()
        self.hall_page = Hall_Page()
        self.level_page = Level_Page()
        self.game_page = Game_Page()
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity()
        self.common.user_money(money=1000)

    def gameplay(self):
        i = 1
        self.game_page.wait_element("开始").click()
        # while self.game_page.element_is_exist("立即领取"):
        #     self.game_page.wait_element("关闭1").click()
        while self.game_page.element_is_exist("破产对话框", 1) == False:
            self.start_step("开始玩第%s场牌" % i)
            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
            while self.game_page.element_is_exist("出牌", 1) == False:
                list1 = ["叫地主", "不叫"]
                self.log_info("叫地主中")
                from random import choice
                print choice(list1)
                try:
                    self.game_page.wait_element(choice(list1), 1).click()
                except:
                    self.log_info("未出现抢地主按钮")
                list = ["叫地主", "不叫", "抢地主"]
                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
                if self.game_page.element_is_exist("继续游戏", 1):
                    break
            if self.game_page.element_is_exist("机器人", timeout=20) == False:
                self.game_page.wait_element("托管").click()
            while (self.game_page.element_is_exist("提示", 1)
                   or self.game_page.element_is_exist("出牌", 1)):
                try:
                    self.game_page.wait_element("提示").click()
                    self.game_page.element_is_exist("出牌").click()
                except:
                    self.log_info("未出现提示按钮")
            self.game_page.screenshot("第%s次托管玩牌.png" % i)
            while self.game_page.element_is_exist("继续游戏", 1) == False:
                time.sleep(1)
                self.log_info("正在游戏中")
            self.game_page.screenshot("第%s次玩牌结算.png" % i)
            endtime = time.time()
            if (endtime - starttime) / 60 > self.timeout - 10:
                self.game_page.is_in_gameroom(self.luadriver)
                return
            while self.game_page.element_is_exist("继续游戏", 1):
                while self.game_page.element_is_exist("QQ分享"):
                    self.game_page.screenshot("第%s次玩牌出现分享页面.png" % i)
                    self.luadriver.keyevent(4)
                self.game_page.wait_element("继续游戏").click()
            while self.game_page.element_is_exist("去底倍场", 1):
                self.game_page.screenshot("第%s次玩牌提示去底倍场.png" % i)
                self.game_page.wait_element("去底倍场").click()
            while (self.game_page.element_is_exist("立即购买", 1)
                   or self.game_page.element_is_exist("立即领取", 1)):
                try:
                    self.game_page.wait_element("关闭1").click()
                except:
                    self.log_info("未出现关闭按钮")
                try:
                    self.game_page.wait_element("关闭2").click()
                except:
                    self.log_info("未出现关闭按钮")
                self.game_page.exit_game(self.luadriver)
                self.common.user_money(money=1000)
                self.start_step("进去癞子场")
                while self.hall_page.element_is_exist("游戏列表"):
                    elments1 = self.hall_page.get_elements("游戏列表")
                    elments1[1].click()
                    self.game_page.wait_element("切换按钮").click()
                    elments = self.game_page.get_elements("切换玩法")
                    elments[0].click()
                    self.level_page.wait_element("快速开始").click()
                self.start_step("点击初级场房间")
                while self.level_page.element_is_exist("房间列表"):
                    self.level_page.wait_element("房间列表").click()
            while self.game_page.element_is_exist("开始", 2):
                self.game_page.wait_element("开始").click()
            i += 1

    def run_test(self):
        self.hall_page.wait_element("同步标志")
        self.start_step("进去癞子场")
        while self.hall_page.element_is_exist("游戏列表"):
            elments = self.hall_page.get_elements("游戏列表")
            elments[1].click()
            self.game_page.wait_element("切换按钮").click()
            elments = self.game_page.get_elements("切换玩法")
            elments[0].click()
            # self.level_page.wait_element("快速开始").click()
        self.start_step("点击初级场房间")
        while self.level_page.element_is_exist("房间列表"):
            self.level_page.wait_element("房间列表").click()
        self.gameplay()

    def post_test(self):
        try:
            self.game_page.is_in_gameroom(self.luadriver)
        finally:
            self.common.closedriver()
예제 #30
0
class C27362_Safebox_Havemony(TestCase):
    '''
   携带银币3000以下,保险箱存有银币时点击游戏位
    '''
    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.common.set_safeBoxMoney(mid, 3000, money_type=0)
        self.common.set_coin(mid=mid,value='2998')
        # 初始化Luadriver
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        # 每个用例都需要关闭活动,把这个放在初始化里面实现
        self.common.closeactivity(self.luadriver)

    # def set_safeboxmoney(self):
    #     #设置保险箱的银币数
    #     self.hall_page.wait_element("保险箱").click()
    #     time.sleep(4)
    #     self.hall_page.wait_element("存钱").click()
    #     time.sleep(4)
    #     self.common.swipeelement(self.hall_page.wait_element("滚动条"), self.hall_page.wait_element("添加"))
    #     self.hall_page.wait_element("确定按钮").click()
    #     time.sleep(3)
    #     self.hall_page.wait_element("空白页").click()
    #     time.sleep(3)
    #
    # def set_bodymoney(self):
    #     #设置自身携带的银币数
    #     self.start_step("获取mid")
    #     global mid
    #     mid = self.common.get_config_value("casecfg", "mid")
    #     self.start_step("携带3000银币")
    #     self.common.set_coin(mid=mid, value='250')
    #     time.sleep(3)
    #     self.common.switchserver()
    #     # 每个用例都需要关闭活动,把这个放在初始化里面实现
    #     self.common.closeactivity(self.luadriver)

    def bian_li(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()
            game_list[i].click()
            time.sleep(2)
            self.game_page.game_is_download()
            time.sleep(2)
            self.hall_page.screenshot("%s.png" % game_list[i].get_attribute("name"))
            try:
                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.set_safeboxmoney()
        # self.set_bodymoney()
        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.start_step("从保险箱取出银币")
        self.common.set_safeBoxMoney(mid, 0, 0)
        self.common.closedriver()