Exemple #1
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global user_info
     user_info = self.common.get_user()
     print user_info
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("接口交互道具私信")
     # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
     return1 = PHPInterface.send_message(int(user_info['mid']), "接口交互道具私信","接口交互道具私信",200005,1,0)
     self.start_step("初始化driver")
     self.luadriver = self.common.setupdriver()
     self.start_step("关闭活动页面")
     # 每个用例都需要关闭活动,并切换到测试服
     self.common.closeactivity_switchserver(self.luadriver)
     self.start_step("判断是否登陆")
     if not self.common.isloginuser(self.luadriver):
         self.common.loginuser(user_info['user'], user_info['password'])
         self.common.closeActivityBtn()
     else:
         if self.personinfo_page.wait_element("账号ID").get_attribute('text') != user_info['cid']:
             self.common.loginuser(user_info['user'], user_info['password'])
             self.common.closeActivityBtn()
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
Exemple #2
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("3种以上物品私信")
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity_switchserver(self.luadriver, "预发布")
     print self.casedata['mid']
     return1 = PHPInterface.send_message(int(self.casedata['mid']),
                                         "3种以上物品私信", "3种以上物品私信",
                                         [10045, 0, 1], 1, 0)
     print return1
     self.start_step("判断是否登陆")
     if not self.common.isloginuser(self.luadriver):
         self.common.loginuser(self.casedata['user'],
                               self.casedata['password'])
         self.common.closeactivity_switchserver(self.luadriver, "预发布")
     else:
         if self.personinfo_page.wait_element("账号ID").get_attribute(
                 'text') != self.casedata['cid']:
             self.common.loginuser(self.casedata['user'],
                                   self.casedata['password'])
             self.common.closeactivity_switchserver(self.luadriver, "预发布")
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
 def pre_test(self):
     self.common = Common()
     self.luadriver = self.common.setupdriver()
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     time.sleep(1)
     UserID = self.casedata.get('mid')
     print 'UserID:%s' % UserID
     dict = PHPInterface.get_user_info(UserID)  # 获取玩家信息
     crystal = eval(dict).get('result', {
         'crystal': None
     }).get('crystal')  # 获取当前金条值
     AddCrystal = 1000 - crystal
     PHPInterface.add_crystal(UserID, AddCrystal)  # 将金条数目置1000
     # 每个用例都需要关闭活动,把这个放在初始化里面实现
     self.common.closeactivitytest(self.luadriver)
     self.hall_page.wait_element("头像").click()
     time.sleep(2)
     if self.personinfo_page.wait_element("账号ID").get_attribute(
             'text') != self.casedata['cid']:
         self.common.loginuser(self.casedata['user'],
                               self.casedata['password'])
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
Exemple #4
0
 def pre_test(self):
     self.common = Common()
     # global user_info
     # user_info = self.common.get_user()
     # print user_info
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     self.start_step("初始化driver")
     self.luadriver = self.common.setupdriver()
     self.start_step("关闭活动")
     self.common.closeactivity_switchserver(self.luadriver)
     self.start_step("获取用户mid")
     cid = self.common.get_cid()
     mid = PHPInterface.get_mid(cid, region=1)
     print "用户mid为:%s" % mid
     user_info1 = PHPInterface.get_user_info(mid)  # 获取玩家信息
     coin = json.loads(user_info1).get('result', {'coin': None}).get('coin')  # 获取当前银币值
     AddMoney = 53000 - coin
     PHPInterface.add_money(mid, AddMoney)  # 将银币值设为3000
     PHPInterface.add_money(mid, 53000)
     self.hall_page.wait_element("头像").click()
     time.sleep(2)
Exemple #5
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("交互道具私信")
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity_switchserver(self.luadriver, "预发布")
     print self.casedata['mid']
     dict = PHPInterface.get_user_info(self.casedata['mid'])  # 获取玩家信息
     global coin
     coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
     print coin
     return1 = PHPInterface.send_message(int(self.casedata['mid']),
                                         "交互道具私信", "交互道具私信", 0, 2, 0)
     print return1
     self.start_step("判断是否登陆")
     if not self.common.isloginuser(self.luadriver):
         self.common.loginuser(self.casedata['user'],
                               self.casedata['password'])
         self.common.closeactivity_switchserver(self.luadriver, "预发布")
     else:
         if self.personinfo_page.wait_element("账号ID").get_attribute(
                 'text') != self.casedata['cid']:
             self.common.loginuser(self.casedata['user'],
                                   self.casedata['password'])
             self.common.closeactivity_switchserver(self.luadriver, "预发布")
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
Exemple #6
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("接口交互道具私信")
     global mid
     mid = self.common.get_config_value("casecfg","mid")
     return1 = PHPInterface.send_message(mid, "接口交互道具私信","接口交互道具私信",200,1,0)
     self.start_step("初始化driver")
     self.luadriver = self.common.setupdriver()
     self.start_step("关闭活动页面")
     # 每个用例都需要关闭活动,并切换到测试服
     self.common.closeactivity(self.luadriver)
 def pre_test(self):
     self.common = Common()
     self.luadriver = self.common.setupdriver()
     self.hall_page = Hall_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     # 每个用例都需要关闭活动,把这个放在初始化里面实现
     self.common.closeactivitytest(self.luadriver)
Exemple #8
0
    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.backpack_page = Backpack_Page()
        self.start_step("初始化driver")
        global mid
        mid = self.common.get_config_value("casecfg", "mid")

        self.luadriver = self.common.setupdriver()

        if isDebug != True:
            self.common.closeactivity(self.luadriver)
        else:
            time.sleep(10)
Exemple #9
0
 def pre_test(self):
     self.common = Common()
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     # 每个用例都需要关闭活动,把这个放在初始化里面实现
     self.common.closeactivity_switchserver(self.luadriver, "预发布")
     self.hall_page = Hall_Page()
     self.backpack_page = Backpack_Page()
Exemple #10
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity_switchserver(self.luadriver, "预发布")
Exemple #11
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global mid
     mid = self.common.get_config_value("casecfg", "mid")
     PHPInterface.send_message(int(mid), "接口发送vip私信", "接口发送vip私信", 4, 1, 0)
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
Exemple #12
0
class PerTest_QIPAIHALL_Backpack(TestCase):
    '''
    物品箱操作
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.backpack_Page = Backpack_Page()

    def run_test(self):
        '''
        测试步骤
        1、大厅点击物品箱入口
        2、点击兑换记录
        3、点击大厅同步标志,退出物品箱
        '''
        self.hall_page.wait_element("同步标志")

        #点击大厅物品箱入口
        self.start_step("点击大厅物品箱入口")
        self.common.sendTagBroadcast(EnumSceneName.Backpack,
                                     EnumSceneType.Start)

        try:
            #点击物品箱入口
            self.hall_page.get_element("物品箱", 0).click()
            time.sleep(2)
            self.backpack_Page.wait_element("同步标志")
            self.common.taskScreenShot("openBackpackPop.jpg")

            #查看物品箱兑换记录
            self.start_step("查看物品箱兑换记录")
            self.backpack_Page.get_element("兑换记录按钮", 0).click()
            self.backpack_Page.wait_element("兑换记录框同步标志")
            self.common.taskScreenShot("openBackpackPop.jpg")
            self.backpack_Page.get_element("兑换记录框关闭", 0).click()
        except:
            print "操作物品箱失败"
        finally:
            self.common.checkPopVisible(self.backpack_Page)
            self.hall_page.wait_element("同步标志")

        time.sleep(5)
        self.common.sendTagBroadcast(EnumSceneName.Backpack,
                                     EnumSceneType.Stop)
Exemple #13
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global mid
     mid = self.common.get_config_value("casecfg", "mid")
     self.start_step("接口交互道具私信")
     print coin
     return1 = PHPInterface.send_message(int(mid), "交互道具私信", "交互道具私信", 0, 2,
                                         0)
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
Exemple #14
0
 def pre_test(self):
     self.common = Common()
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     global mid
     mid = self.common.get_config_value("casecfg","mid")
     self.common.set_coin(mid,value=50000)
     self.start_step("初始化driver")
     self.luadriver = self.common.setupdriver()
     self.common.closeactivity(self.luadriver)
Exemple #15
0
 def pre_test(self):
     self.common = Common()
     global mid
     mid = self.common.get_config_value("casecfg", "mid")
     self.common.set_coin(mid=mid, value='20000')
     self.common.set_crystal(mid=mid,value='450')
     # global user_info
     # user_info = self.common.get_user()
     # print user_info
     self.luadriver = self.common.setupdriver()
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     self.common.closeactivity(self.luadriver)
Exemple #16
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global mid
     mid = self.common.get_config_value("casecfg", "mid")
     return1 = PHPInterface.send_message(int(mid), "接口发送话费碎片私信1",
                                         "接口发送话费碎片私信1", 400003, 1, 0)
     print return1
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("接口发送话费碎片私信")
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity(self.luadriver)
Exemple #17
0
 def pre_test(self):
     self.common = Common()
     # global user_info
     # user_info = self.common.get_user()
     # print user_info
     self.luadriver = self.common.setupdriver()
     # 每个用例都需要关闭活动,把这个放在初始化里面实现
     self.common.closeactivity_switchserver(self.luadriver)
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     time.sleep(1)
     cid = self.common.get_cid()
     global mid
     mid = PHPInterface.get_mid(cid, region=1)
     print "用户mid为:%s" % mid
     PHPInterface.add_money(mid, 53000)
Exemple #18
0
 def pre_test(self):
     self.common = Common()
     self.luadriver = self.common.setupdriver()
     self.hall_page = Hall_Page()
     self.mall_page = Mall_Page()
     self.sign_page = Sign_Page()
     self.backpack_page = Backpack_Page()
     self.personinfo_page = Personinfo_Page()
     time.sleep(1)
     PHPInterface.add_money(self.casedata['mid'], 53000)
     # 每个用例都需要关闭活动,把这个放在初始化里面实现
     self.common.closeactivityprepublish(self.luadriver)
     self.hall_page.wait_element("头像").click()
     time.sleep(2)
     if self.personinfo_page.wait_element("账号ID").get_attribute('text') != self.casedata['cid']:
         self.common.loginuser(self.casedata['user'], self.casedata['password'])
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
Exemple #19
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global mid
     mid = self.common.get_config_value("casecfg", "mid")
     self.start_step("金条私信")
     global crystal
     crystal = eval(mid).get('result', {
         'crystal': None
     }).get('crystal')  # 获取当前银币值
     print crystal
     return1 = PHPInterface.send_message(int(mid), "金条私信", "金条私信", 1, 1, 0)
     print return1
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity(self.luadriver)
Exemple #20
0
 def pre_test(self):
     self.start_step("初始化环境")
     self.common = Common()
     global user_info
     user_info = self.common.get_user()
     print user_info
     print user_info['mid']
     # 初始化Luadriver
     self.luadriver = self.common.setupdriver()
     self.message_page = Message_Page()
     self.hall_page = Hall_Page()
     self.personinfo_page = Personinfo_Page()
     self.backpack_page = Backpack_Page()
     self.start_step("金条私信")
     # 每个用例都需要关闭活动,并切换到预发布
     self.common.closeactivity_switchserver(self.luadriver)
     dict = PHPInterface.get_user_info(user_info['mid'])  # 获取玩家信息
     global crystal
     crystal = eval(dict).get('result', {
         'crystal': None
     }).get('crystal')  # 获取当前银币值
     print crystal
     return1 = PHPInterface.send_message(int(user_info['mid']), "金条私信",
                                         "金条私信", 1, 1, 0)
     print return1
     self.start_step("判断是否登陆")
     if not self.common.isloginuser(self.luadriver):
         self.common.loginuser(user_info['user'], user_info['password'])
         self.common.closeActivityBtn()
     else:
         if self.personinfo_page.wait_element("账号ID").get_attribute(
                 'text') != user_info['cid']:
             self.common.loginuser(user_info['user'], user_info['password'])
             self.common.closeActivityBtn()
     try:
         self.personinfo_page.wait_element("关闭").click()
     except:
         print "已关闭窗口"
Exemple #21
0
    def pre_test(self):
        self.common = Common()
        # global user_info
        # user_info = self.common.get_user()
        # print user_info
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.mall_page = Mall_Page()
        self.sign_page = Sign_Page()
        self.backpack_page = Backpack_Page()
        self.personinfo_page = Personinfo_Page()
        self.common.closeactivity_switchserver(self.luadriver)
        # time.sleep(1)
        self.start_step("获取账号mid")
        cid = self.common.get_cid()
        global mid
        mid = PHPInterface.get_mid(cid, region=1)
        print "用户mid为:%s" % mid
        # UserID = user_info.get('mid')
        # print 'UserID:%s' % UserID
        dict = PHPInterface.get_user_info(mid)  # 获取玩家信息
        crystal = eval(dict).get('result', {
            'crystal': None
        }).get('crystal')  # 获取当前金条值
        #初始化银币
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 20000 - int(coin)
        print AddMoney
        PHPInterface.add_money(mid, AddMoney)  # 将设置银币值

        AddCrystal = 450 - crystal
        PHPInterface.add_crystal(mid, AddCrystal)  # 将金条数目置1400
        # self.hall_page.wait_element("预发布").click()
        # time.sleep(15)
        # self.common.closeActivityBtn()

        self.common.closeactivity_switchserver(self.luadriver)
Exemple #22
0
class kick_base(TestCase):
    '''
    房间内踢人脚本基类
    '''
    owner = "JessicZeng"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 30
    global mid
    global kickCard_cnt

    #各游戏对应id   203:斗地主,20:干瞪眼,7:血流成河, 2002:双扣  23:拖三批(七人焖鸡、斗鸡)
    #              2601:葫芦岛麻将   2603:K十五  25:升级  3:斗牛
    #20:预发布环境有不能正常玩牌的子游戏,不进行测试
    #23、3:每局游戏时间太短不足以操作玩家头像
    global global_black_list
    global_black_list = ["game20", "game23", "game3"]

    # 为True,本地调试时不执行关闭活动弹框逻辑
    global isDebug
    isDebug = False

    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        self.hall_page = Hall_Page()
        self.game_page = Game_Page()
        self.yuepai_page = Yuepai_Page()
        self.backpack_page = Backpack_Page()
        self.start_step("初始化driver")
        global mid
        mid = self.common.get_config_value("casecfg", "mid")

        self.luadriver = self.common.setupdriver()

        if isDebug != True:
            self.common.closeactivity(self.luadriver)
        else:
            time.sleep(10)

    def wait_login_suc(self):
        '''等待大厅登录成功标志加载完成'''
        end_time = time.time() + 120
        while True:
            try:
                if self.hall_page.element_is_exist("登录成功标志", 1):
                    self.common.platformLog("大厅登录成功")
                    return True
                elif self.hall_page.element_is_exist("重连游戏", 1):
                    self.hall_page.get_element("重连游戏").click()
                    time.sleep(2)
                elif self.hall_page.element_is_exist("重新登陆", 1):
                    self.hall_page.get_element("重新登陆").click()
                    time.sleep(2)
            except:
                self.common.platformLog("等待大厅登录成功过程中,获取元素失败")
                return False
            if time.time() > end_time:
                self.common.platformLog("大厅未在指定时间内登录成功")
                return False

    def changeServer(self):
        '''
        子游戏返回列表后通过切换环境,来确保每次都重新登录  避免某些接口设置不生效
        默认从正式环境切换到当前测试环境
        :return:
        '''
        try:
            self.hall_page.wait_element("正式服").click()
            self.common.closeactivity(self.luadriver)
        except:
            print "切换到正式服失败"
        self.common.switchserver()
        self.common.closeactivity(self.luadriver)

    def set_PlayerData(self, VIPType, kickCnt):
        '''
        设置玩家VIP及踢人卡数量,由于有界面操作   只能放在进入大厅成功后调用
        :param VIPCnt: 是否有VIP
        :param kickCnt: 踢人卡张数  踢人卡id为36  None:则是不设置踢人卡数量
        :return:
        '''
        self.start_step("设置玩家数据")

        if PHPInterface.set_vip(mid, VIPType) == 0:
            self.common.platformLog("接口设置VIP信息失败")
            return False
        else:
            self.common.platformLog("设置VIP状态成功")

        #目前道具接口有问题,设置为0   会返回失败  当设置数量为0时,强制返回True
        status = False
        if PHPInterface.add_props(mid, 36, kickCnt) == 0 and kickCnt != 0:
            self.common.platformLog("设置踢人卡数量失败")
            status = False
        else:
            global kickCard_cnt
            kickCard_cnt = kickCnt
            status = True
        self.common.platformLog("测试开始前设置被测玩家初始数据", mid, VIPType, kickCnt,
                                "设置VIP和踢人卡结果:", status)
        return status

    def check_player_data(self, VIPType, kickCnt):
        '''
        检测当前用户数据是否与设置一致,若不一致则切换测试环境来刷新用户数据
        :param VIPType:
        :param kickCnt:
        :return:
        '''
        need_change = False
        if (VIPType in [4, 5, 6]
                and self.hall_page.element_is_exist("vip标识", 1)):  #有VIP标识
            pass
        elif (VIPType == -1
              and self.hall_page.element_not_exist("vip标识", 1)):  #无VIP标识
            pass
        else:
            need_change = True

        if need_change == False and kickCnt != self.get_KickCnt():
            need_change = True

        if need_change == True:
            self.changeServer()
            if self.wait_login_suc():
                self.common.platformLog("切换测试环境后,大厅登录成功")
                return True
            else:
                self.common.platformLog("切换测试环境后,大厅登录失败")
                return False
        else:
            self.common.platformLog("玩家VIP和踢人卡数量正确,不需切换环境")
            return True

    def wait_in_game(self):
        '''
        等待牌局开始,超过60s 则返回失败,停止后续测试操作
        :param gamePage  避免重复new
        :return: True:牌局中   False:未在牌局中
        '''
        gamePage = Game_Page()
        cnt = 0
        isIn = False
        while cnt < 30:
            if self.el_not_exist(gamePage, "房间标志"):
                isIn = False
                break
            if self.el_not_exist(gamePage, "换桌") and self.el_not_exist(
                    gamePage, "准备"):
                isIn = True
                print "牌局已经开始"
                break
            cnt += 1
            time.sleep(1)
        self.common.platformLog("牌局是否进行中:", isIn)
        return isIn

    def el_not_exist(self, page, el_name):
        '''
        判断元素不存在
        :param element:
        '''
        try:
            if (page.get_element(el_name) == None):
                return True
            else:
                return False
        except:
            return True

    def set_Robot(self,
                  gameid,
                  basechiptype=0,
                  playmode=1,
                  roomlevel=1,
                  robotflag=0):
        #七人焖鸡默认的七人玩法,对应的playmod是3  其余游戏均为0
        if gameid == '23':
            playmode = 3
        return PHPInterface.set_robot_flag(gameid, basechiptype, playmode,
                                           roomlevel, robotflag)

    def get_KickCnt(self):
        '''
        :return: 踢人卡张数  默认为None  表示获取踢人卡失败
        '''
        self.start_step("获取玩家物品箱踢人卡数量")
        self.common.platformLog("开始获取踢人卡*************")
        kick_cnt = 0
        try:
            self.hall_page.get_element("物品箱").click()
            self.backpack_page.wait_element("物品箱同步标志")
            item_namesEl = self.backpack_page.get_elements("item名称")
            item_cntsEl = self.backpack_page.get_elements("item数量")
            # 获取两个元素列表成功
            index = 0
            for el in item_namesEl:
                if el.get_attribute('text') == "踢人卡":
                    kick_cnt = int(item_cntsEl[index].get_attribute('text'))
                    break
                index += 1
        except:
            self.common.platformLog("打开物品箱获取踢人卡数量失败")
        finally:
            self.common.checkPopVisible(self.luadriver, self.backpack_page)
            self.hall_page.wait_element("同步标志")
        self.common.platformLog("从物品箱获取到的踢人卡数量", kick_cnt)
        return kick_cnt

    def loop_GameList(self,
                      testFunc,
                      isNext,
                      VIPType,
                      kickCnt,
                      def_black_list=None):
        game_list = self.game_page.get_game_list()
        for gameElement in game_list:
            try:

                gameId = gameElement.get_attribute("name")
                self.common.platformLog("当前测试子游戏:", gameId)

                #判断该子游戏是否是可测游戏
                if def_black_list != None:
                    black_list = def_black_list
                else:
                    black_list = global_black_list
                if black_list != None and gameId in black_list:
                    self.common.platformLog(gameId, "该子游戏不符合用例前置条件,不进行测试")
                    continue

                #若从子游戏返回大厅后登录大厅失败,结束测试
                if self.wait_login_suc():
                    self.common.platformLog("登录大厅成功")
                else:
                    self.assert_equal("登录大厅失败,停止后续所有测试步骤", True, False)
                    self.hall_page.screenshot("登录大厅失败.png")
                    break

                #根据条件设置玩家数据
                global kickCard_cnt
                if self.set_PlayerData(VIPType, kickCnt) == False:
                    self.assert_equal(gameId + "设置玩家VIP信息失败", True, False)
                    continue
                else:
                    time.sleep(2)
                    self.hall_page.wait_element("可点击标志", 2).click()
                    time.sleep(1)
                    if self.check_player_data(VIPType, kickCnt) == False:
                        self.assert_equal(gameId + "玩家数据不匹配切换环境后,登录失败,退出该用例测试",
                                          True, False)
                        break

                if isNext and self.hall_page.element_is_exist("右三角", 3):
                    self.hall_page.get_element("右三角").click()
                    time.sleep(1)

                self.common.platformLog("点击大厅子游戏入口")
                time.sleep(1)
                gameElement.click()
                if (self.game_page.game_is_download() == False):
                    self.log_info("下载游戏ID:%s 失败" % gameId)
                    self.game_page.screenshot(gameId + "_下载子游戏失败.png")
                    try:
                        self.hall_page.wait_element("关闭对话框").click()
                    except:
                        self.common.platformLog("关闭弹框")
                    continue

                self.start_step("开启机器人")

                if self.set_Robot(
                        re.search('\d+', gameId).group(), 0, 0, 12, 1):
                    self.common.platformLog("开始机器人成功")
                else:
                    self.assert_equal(gameId + "开启机器人失败", True, False)
                    return 0

                try:
                    self.start_step("点击入口进入房间")
                    if self.game_page.element_is_exist("新房间类型", 2):
                        gameType_Els = self.game_page.get_elements("新房间类型")
                        gameType_Els[0].click()
                    elif self.game_page.element_not_exist("广播", 2):
                        gameType_tabEls = self.game_page.game_play_way()
                        gameType_tabEls[0][1].click()  # 确保进入的是普通场

                    #点击房间场次,进入房间
                    if self.game_page.element_is_exist("新初级场场次", 2):
                        self.game_page.get_element("新初级场场次").click()
                    elif self.game_page.element_is_exist("房间场次", 2):
                        self.game_page.get_element("房间场次").click()
                except:
                    self.assert_equal(gameId + "大厅进入房间失败", True, False)
                    self.game_page.screenshot(game_id + "_大厅进入房间失败" + ".png")

                try:
                    self.start_step("开始具体子游戏操作:" + gameId)
                    testFunc(gameId)
                except:
                    self.game_page.screenshot(game_id + "_房间内操作子游戏失败" + ".png")
                    self.assert_equal(gameId + "房间内操作子游戏失败", True, False)
            except:
                self.assert_equal(gameId + "子游戏循环操作失败", True, False)
            finally:
                while True:
                    if self.hall_page.element_is_exist("排行榜", 5):
                        break
                    self.luadriver.back()

    def run_test_base(self, stepFunc, VIPType, kickCnt, def_black_list=None):
        '''

        :param VIPType:  VIP类型
        :param kickCnt:  踢人卡数量
        :param stepFunc: 具体测试步骤方法
        :param def_black_list: 自定义子游戏黑名单
        :return:
        '''
        self.start_step("等待页面加载完成")
        # 若从子游戏返回大厅后登录大厅失败,结束测试
        if self.wait_login_suc():
            self.common.platformLog("run_test_base登录大厅成功")
        else:
            self.assert_equal("run_test_base登录大厅失败,停止后续所有测试步骤", True, False)
            self.hall_page.screenshot("登录大厅失败.png")
            return 0

        time.sleep(8)
        self.loop_GameList(stepFunc, False, VIPType, kickCnt, def_black_list)
        try:
            self.hall_page.wait_element("右三角").click()
            time.sleep(8)
            self.loop_GameList(stepFunc, True, VIPType, kickCnt,
                               def_black_list)
        except:
            self.common.platformLog("没有右三角按钮")

    def post_test(self):
        #     '''
        #     测试用例执行完成后,清理测试环境
        #     设置VIP为过期状态,踢人卡数量为0
        #     '''
        self.start_step("清理测试环境")
        self.set_PlayerData(-1, 0)
        self.common.set_coin(mid, '10000')
        self.common.closedriver()
Exemple #23
0
class C31040_DFQP_Backpack_Compose(TestCase):
    '''
    兑换实物及话费
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10
    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.common.deletefile(self.luadriver)
        self.message_page = Message_Page()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.backpack_page = Backpack_Page()
        self.start_step("接口交互道具私信")
        # 每个用例都需要关闭活动,并切换到测试服
        self.common.closeactivity_switchserver(self.luadriver,"预发布")
        print self.casedata['mid']
        # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
        return1 = PHPInterface.send_message(int(self.casedata['mid']), "接口交互道具私信","接口交互道具私信",200005,1,0)
        self.start_step("判断是否登陆")
        if not self.common.isloginuser(self.luadriver):
            self.common.loginuser(self.casedata['user'], self.casedata['password'])
            self.common.closeactivity_switchserver(self.luadriver, "预发布")
        else:
            if self.personinfo_page.wait_element("账号ID").get_attribute('text') != self.casedata['cid']:
                self.common.loginuser(self.casedata['user'], self.casedata['password'])
                self.common.closeactivity_switchserver(self.luadriver, "预发布")
        try:
            self.personinfo_page.wait_element("关闭").click()
        except:
            print "已关闭窗口"

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        time.sleep(4)
        self.start_step("进入消息页面")
        self.hall_page.wait_element("消息").click()
        time.sleep(2)
        self.start_step("查看消息")
        try:
            try:
                element = self.message_page.get_elements("小琪妹")
                element[1].click()
            except:
                self.message_page.wait_element("小琪妹").click()
            time.sleep(3)

            self.message_page.screenshot('getcalls1.png')
            self.message_page.wait_element("立即领取").click()
            time.sleep(3)
            self.message_page.screenshot('getcalls2.png')
            self.message_page.wait_element("知道了").click()
            time.sleep(2)
            self.message_page.wait_element('已领取').get_attribute('text') == "已领取"
        except:
            print ("没有消息")
        time.sleep(3)
        self.message_page.wait_element("返回").click()
        time.sleep(3)
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("同步标志")
        self.start_step("进入物品箱页面")
        time.sleep(2)
        self.hall_page.wait_element("物品箱").click()
        time.sleep(2)
        self.hall_page.screenshot('Backpack_Enterpack2.png')
        self.backpack_page.wait_element("物品名称").click()
        time.sleep(2)
        self.start_step("兑换金币/金币")
        self.backpack_page.wait_element("使用").click()
        time.sleep(2)
        self.backpack_page.wait_element("手机号码").send_keys(self.casedata['user'])
        time.sleep(2)
        self.backpack_page.wait_element("确认手机号码").send_keys(self.casedata['user'])
        time.sleep(2)
        self.backpack_page.wait_element("使用").click()
        time.sleep(9)
        self.backpack_page.screenshot('use.png')
        self.start_step("分享好友")
        self.backpack_page.wait_element("分享好友").click()
        time.sleep(2)
        self.hall_page.screenshot('Backpack_Enterpack2.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.deletefile(self.luadriver)
        self.common.closedriver()
Exemple #24
0
class C31038_DFQP_Backpack_Compose(TestCase):
    '''
    话费碎片回兑银币
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20
    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        self.message_page = Message_Page()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.backpack_page = Backpack_Page()
        self.start_step("接口交互道具私信")
        global mid
        mid = self.common.get_config_value("casecfg","mid")
        return1 = PHPInterface.send_message(mid, "接口交互道具私信","接口交互道具私信",200,1,0)
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.start_step("关闭活动页面")
        # 每个用例都需要关闭活动,并切换到测试服
        self.common.closeactivity(self.luadriver)

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入消息页面")
        self.hall_page.wait_element("消息").click()
        self.start_step("查看消息")
        try:
            try:
                element = self.message_page.get_elements("小琪妹")
                element[1].click()
            except:
                self.message_page.wait_element("小琪妹").click()
            self.message_page.screenshot('getcalls1.png')
            self.message_page.wait_element("立即领取").click()
            self.message_page.screenshot('getcalls2.png')
            self.message_page.wait_element("知道了").click()
            self.message_page.wait_element('已领取').get_attribute('text') == "已领取"
        except:
            print ("没有消息")
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("同步标志")
        self.start_step("进入物品箱页面")
        self.hall_page.wait_element("物品箱").click()
        self.hall_page.screenshot('Backpack_Enterpack2.png')
        try:
            self.backpack_page.wait_element("物品名称").click()
            self.start_step("出售话费碎片")
            self.backpack_page.wait_element("出售").click()
            self.backpack_page.wait_element("出售").click()
            self.backpack_page.screenshot('Backpack_Enterpack2.png')
        except:
            print "未找到物品箱"
        # self.backpack_page.wait_element("返回").click()

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.common.recover_user(mid=mid)
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
Exemple #25
0
class C31042_DFQP_Backpack_share(TestCase):
    '''
    安装了微信分享兑换记录
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20
    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        self.message_page = Message_Page()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.backpack_page = Backpack_Page()
        global user_info
        user_info = self.common.get_user()
        print user_info
        global mid
        mid = self.common.get_config_value("casecfg","mid")
        return1 = PHPInterface.send_message(mid, "接口交互道具私信","接口交互道具私信",200,1,0)
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.start_step("关闭活动页面")
        # 每个用例都需要关闭活动,并切换到测试服
        self.common.closeactivity(self.luadriver)

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入消息页面")
        self.hall_page.wait_element("消息").click()
        self.start_step("查看消息")
        try:
            try:
                element = self.message_page.get_elements("小琪妹")
                element[1].click()
            except:
                self.message_page.wait_element("小琪妹").click()
            self.message_page.screenshot('getcalls1.png')
            self.message_page.wait_element("立即领取").click()
            self.message_page.screenshot('getcalls2.png')
            self.message_page.wait_element("知道了").click()
            self.message_page.wait_element('已领取').get_attribute('text') == "已领取"
        except:
            print ("没有消息")
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("同步标志")
        self.start_step("进入物品箱页面")
        self.hall_page.wait_element("物品箱").click()
        self.hall_page.screenshot('Backpack_Enterpack2.png')
        self.backpack_page.wait_element("物品名称").click()
        self.backpack_page.wait_element("使用").click()
        self.backpack_page.wait_element("手机号码").send_keys(user_info['user'])
        self.backpack_page.wait_element("确认手机号码").send_keys(user_info['user'])
        self.backpack_page.wait_element("使用").click()
        self.backpack_page.screenshot("use.png")
        time.sleep(4)
        self.backpack_page.screenshot('use.png')
        try:
            self.start_step("分享好友")
            self.backpack_page.wait_element("分享好友").click()
            time.sleep(2)
            self.hall_page.screenshot('Backpack_share.png')
        except:
            self.log_info("share_fail")
            # self.luadriver.keyevent(4)
        self.luadriver.keyevent(4)
        self.backpack_page.wait_element("兑换记录").click()
        self.backpack_page.wait_element("兑换记录1").click()
        try:
            self.backpack_page.wait_element("分享好友").click()
            time.sleep(2)
            self.hall_page.screenshot('Backpack_Enterpack2.png')
        except:
            self.log_info("share_fail1")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.common.recover_user(mid=mid)
            self.common.closedriver()
            self.common.release_user(user_info['user'])
        except:
            self.log_info("close driver fail")
Exemple #26
0
 def pre_test(self):
     self.common = Common()
     self.hall_page = Hall_Page()
     self.backpack_Page = Backpack_Page()
Exemple #27
0
class C31042_DFQP_Backpack_share(TestCase):
    '''
    安装了微信分享兑换记录
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 20
    def pre_test(self):
        self.start_step("初始化环境")
        self.common = Common()
        global user_info
        user_info = self.common.get_user()
        print user_info
        self.message_page = Message_Page()
        self.hall_page = Hall_Page()
        self.personinfo_page = Personinfo_Page()
        self.backpack_page = Backpack_Page()
        self.start_step("接口交互道具私信")
        # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
        return1 = PHPInterface.send_message(int(user_info['mid']), "接口交互道具私信","接口交互道具私信",200005,1,0)
        self.start_step("初始化driver")
        self.luadriver = self.common.setupdriver()
        self.start_step("关闭活动页面")
        # 每个用例都需要关闭活动,并切换到测试服
        self.common.closeactivity_switchserver(self.luadriver)
        self.start_step("判断是否登陆")
        if not self.common.isloginuser(self.luadriver):
            self.common.loginuser(user_info['user'], user_info['password'])
            self.common.closeActivityBtn()
        else:
            if self.personinfo_page.wait_element("账号ID").get_attribute('text') != user_info['cid']:
                self.common.loginuser(user_info['user'], user_info['password'])
                self.common.closeActivityBtn()
        try:
            self.personinfo_page.wait_element("关闭").click()
        except:
            print "已关闭窗口"

    def run_test(self):
        '''
        测试用例
        '''
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        time.sleep(4)
        self.start_step("进入消息页面")
        self.hall_page.wait_element("消息").click()
        time.sleep(2)
        self.start_step("查看消息")
        try:
            try:
                element = self.message_page.get_elements("小琪妹")
                element[1].click()
            except:
                self.message_page.wait_element("小琪妹").click()
            time.sleep(3)

            self.message_page.screenshot('getcalls1.png')
            self.message_page.wait_element("立即领取").click()
            time.sleep(3)
            self.message_page.screenshot('getcalls2.png')
            self.message_page.wait_element("知道了").click()
            time.sleep(2)
            self.message_page.wait_element('已领取').get_attribute('text') == "已领取"
        except:
            print ("没有消息")
        time.sleep(3)
        self.hall_page.wait_element("头像").click()
        time.sleep(3)
        self.hall_page.wait_element("头像").click()
        self.hall_page.wait_element("同步标志")
        self.start_step("进入物品箱页面")
        time.sleep(2)
        self.hall_page.wait_element("物品箱").click()
        time.sleep(4)
        self.hall_page.screenshot('Backpack_Enterpack2.png')
        self.backpack_page.wait_element("物品名称").click()
        time.sleep(2)
        self.backpack_page.wait_element("使用").click()
        time.sleep(2)
        self.backpack_page.wait_element("手机号码").send_keys(user_info['user'])
        time.sleep(2)
        self.backpack_page.wait_element("确认手机号码").send_keys(user_info['user'])
        time.sleep(2)
        self.backpack_page.wait_element("使用").click()
        time.sleep(1)
        self.backpack_page.screenshot("use.png")
        time.sleep(4)
        self.backpack_page.screenshot('use.png')
        try:
            self.start_step("分享好友")
            self.backpack_page.wait_element("分享好友").click()
            time.sleep(2)
            self.hall_page.screenshot('Backpack_share.png')
        except:
            self.log_info("share_fail")
            # self.luadriver.keyevent(4)
        time.sleep(2)
        self.luadriver.keyevent(4)
        time.sleep(3)
        self.backpack_page.wait_element("兑换记录").click()
        time.sleep(3)
        self.backpack_page.wait_element("兑换记录1").click()
        time.sleep(2)
        try:
            self.backpack_page.wait_element("分享好友").click()
            time.sleep(2)
            self.hall_page.screenshot('Backpack_Enterpack2.png')
        except:
            self.log_info("share_fail1")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.common.deletefile(self.luadriver)
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
        finally:
            self.common.release_user(user_info['mid'])