Пример #1
0
class C31068_DFQP_Exchange_Gold_Exchange2(TestCase):
    '''
    成功兑换金条
    总银币大于20w,携带银币大于103000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 8

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.start_step("设置银币大于20w")
        self.common.set_coin(mid=mid, value='200001')
        self.hall_page = Hall_Page()
        self.exchange_page = Exchange_Page()
        self.safebox_page = Safebox_Page()
        self.personinfo_page = Personinfo_Page()
        self.start_step("初始化Luadriver")
        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("将银币存入保险箱")
        self.safebox_page.wait_element("银币").click()
        self.safebox_page.wait_element("存入").click()
        self.start_step("将银币存入保险箱")
        element1 = self.safebox_page.wait_element("滚动条")
        element2 = self.safebox_page.wait_element("增加金条/银条数目")
        swipe_startx = element1.location['x']
        swipe_starty = element1.location['y']
        swipe_endx = element2.location['x']
        swipe_endy = element2.location['y']
        print swipe_startx, swipe_starty, swipe_endx, swipe_endy, swipe_endx
        self.luadriver.swipe(swipe_startx, swipe_starty,
                             swipe_startx + (swipe_endx - swipe_startx) / 2,
                             swipe_endy, 1000)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(5)
        self.luadriver.keyevent(4)
        self.start_step("进入金条兑换界面")
        dict = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        crystal = eval(dict).get('result', {
            'crystal': None
        }).get('crystal')  # 获取当前金币
        self.exchange_page.wait_element("换金条").click()
        self.exchange_page.wait_element("确定兑换").click()
        time.sleep(2)
        self.exchange_page.screenshot("Gold_Exchange1.png")
        dict1 = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        crystal1 = eval(dict1).get('result', {
            'crystal': None
        }).get('crystal')  # 获取当前金币
        self.assert_equal(True, crystal + 200, crystal1)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.common.recover_user()
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
Пример #2
0
class Common():
    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()
        time.sleep(2)
        try:
            self.setting_page.wait_element("关闭浮动球").click()
        except:
            print "浮动球已经关闭"
        time.sleep(3)
        try:
            self.setting_page.wait_element("页面返回").click()

        except:
            print "已经关闭"
        time.sleep(2)

    def changeServerView(self, name):
        self.hall_page = Hall_Page()
        self.hall_page.wait_element(name).click()
        time.sleep(5)

    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"
        # command = "shell rm -r /mnt/sdcard/.com.boyaa.engineqpsc/dict/lastLoginInfo.dat"
        print command
        try:
            driver.adb(command)
        except:
            print "命令执行失败"
        #预发布  1lastLoginInfo.dat
        command1 = "shell rm -r /mnt/sdcard/." + package + "/dict/1lastLoginInfo.dat"
        print command1
        try:

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

    def closeactivity_switchserver(self, luadriver, switchserver):
        '''
        关闭活动页面,切换到指定服,然后再关闭弹出的活动页面
        :param luadriver:
        :param switchserver:
        :return:
        '''
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        time.sleep(8)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        try:
            luadriver.find_element_by_tag_name("允许").click()
        except:
            print "未出现按钮"
        try:
            luadriver.find_elements_by_class_name(
                "android.widget.Button")[1].click()
        except:
            print "未出现按钮"
        time.sleep(10)
        try:
            self.hall_page.wait_element("确认登陆").click()
        except:
            print "未出现登陆按钮"
        try:
            self.hall_page.wait_element("立即升级绑定账号").click()
            time.sleep(1)
            self.sign_page.wait_element("关闭1").click()
        except:
            print "未出现立即升级绑定账号按钮"
        self.closeActivityBtn()
        try:
            self.hall_page.wait_element("新手任务").click()
            time.sleep(2)
        except:
            print "未出现新手任务按钮"
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        while (self.hall_page.is_exist("switchserver")):
            try:
                self.hall_page.wait_element(switchserver).click()
                time.sleep(1)
            except:
                print "未出现正式服按钮"
            time.sleep(15)
            try:
                luadriver.find_element_by_name("允许").click()
            except:
                print "未出现允许按钮"
            try:
                self.hall_page.wait_element("立即升级绑定账号").click()
                time.sleep(1)
                self.sign_page.wait_element("关闭1").click()
            except:
                print "未出现立即升级绑定账号按钮"
            time.sleep(2)
            self.closeActivityBtn()

    def closeActivityBtn(self):
        '''
        关闭活动弹框
        :return:
        '''
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        i = 0
        while (i < 4):
            i += 1
            try:
                self.sign_page.wait_element("关闭1").click()
                time.sleep(1)
            except:
                try:
                    self.sign_page.wait_element("关闭1").click()
                    time.sleep(1)
                except:
                    print "关闭对话框"

    def closeactivity_switchserver_reservenotice(self, luadriver,
                                                 switchserver):  #切换服务器但保留公告页面
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        time.sleep(15)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        time.sleep(5)
        try:
            self.hall_page.wait_element("确认登陆").click()
        except:
            print "未出现登陆按钮"
        i = 0
        while (i < 3):
            i += 1
            try:
                self.sign_page.wait_element("关闭1").click()
                time.sleep(1)
            except:
                try:
                    self.sign_page.wait_element("关闭1").click()
                    time.sleep(1)
                except:
                    print "关闭对话框"
        try:
            self.hall_page.wait_element("新手任务").click()
            time.sleep(2)
        except:
            print "未出现新手任务按钮"
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        try:
            self.hall_page.wait_element(switchserver).click()
            time.sleep(1)
        except:
            print "未出现%s按钮" % switchserver
        time.sleep(15)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(2)

    def switchnetwork(self, luadriver, network):
        '''
        测试用例运行过程中切换网络
        '''
        if (network == '无网络'):
            print "设置为无网络状态"
            luadriver.set_network_connection(ConnectionType.NO_CONNECTION)
            print luadriver.network_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 isloginuser(self, luadriver):
        '''
        判断是否是注册账号登陆,如果不是则切换到注册账号
        :param user:
        :param passwd:
        :return:
        '''
        self.login_page = Login_Page()
        self.setting_page = Setting_Page()
        self.hall_page = Hall_Page()
        # # 每个用例都需要关闭活动,把这个放在初始化里面实现
        # self.closeactivity(luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(6)
        try:
            if (self.setting_page.wait_element("立即升级").get_attribute('text') !=
                    u"立即升级"):
                return True
            else:
                return False
        except:
            return False

    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 swipeelement(self, element1, element2):
        # element1_size_width = element1.size['width']
        # element1_size_height = element1.size["height"]
        # element1_1_x = element1.location["x"]
        # element1_1_y = element1.location["y"]
        # 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 restart(self):
        self.luaobj = LuaDriver()
        self.luaobj.closeLuadriver()
        self.luaobj.creatLuaDriver()
        self.luadriver = self.luaobj.getLuaDriver()
        self.closeactivity_switchserver(self.luadriver, "预发布")
        return self.luadriver

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

    def getdata(self, string):
        string1 = string.encode('gbk')
        print type(string1)
        data = filter(str.isdigit, string1)
        print data
        return data

    def closeactivityprepublish(self, luadriver):
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(5)
        try:
            self.hall_page.wait_element("立即升级绑定账号").click()
            time.sleep(1)
            self.sign_page.wait_element("关闭1").click()
        except:
            print "未出现立即升级绑定账号按钮"
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        try:
            self.hall_page.wait_element("确认登陆").click()
        except:
            "未出现登陆按钮"
        self.closeActivityBtn()
        try:
            self.hall_page.wait_element("新手任务").click()
            time.sleep(2)
        except:
            print "未出现新手任务按钮"
        try:
            self.hall_page.wait_element("预发布").click()
        except:
            "未出现预发布按钮"
        time.sleep(5)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(5)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(2)
        try:
            self.hall_page.wait_element("立即升级绑定账号").click()
            time.sleep(1)
            self.sign_page.wait_element("关闭1").click()
        except:
            print "未出现立即升级绑定账号按钮"
        self.closeActivityBtn()

    def game_is_exist(self, gamename):
        '''
        判断子游戏是否存在,存在返回True,不存在返回False
        :param gamename: 子游戏元素名,不查找“更多游戏”
        '''
        self.game_page = Game_Page()
        if (self.game_page.is_exist(gamename) == True):
            return True
        else:
            try:
                self.game_page.wait_element("右三角标").click()
                time.sleep(3)
                if (self.game_page.is_exist(gamename) == True):
                    return True
            except:
                print "无此按钮"
            if (self.game_page.is_exist("更多游戏") == True):
                try:
                    self.game_page.wait_element("左三角标").click()
                    time.sleep(3)
                    if (self.game_page.is_exist(gamename) == True):
                        return True
                except:
                    print "无此按钮"
            return False

    def get_user(self):
        '''
        获取账号信息
        @return:
        '''
        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_mid):
        print "release"
        print user_mid
        try:
            user_util.release_account(user_mid)
        except:
            print "release user fail"

    def game_is_download(self):
        '''
        判断子游戏是否已下载
        '''
        self.game_page = Game_Page()
        if (self.game_page.is_exist("资源下载-确定") == True):
            self.game_page.wait_element("资源下载-确定").click()
            time.sleep(40)
        else:
            print("游戏已下载")

    def get_cid(self):
        '''获取用户cid'''
        self.personinfo_page = Personinfo_Page()
        self.game_page = Game_Page()
        # self.start_step("获取用户mid")
        self.personinfo_page.wait_element("头像").click()
        time.sleep(6)
        cid = self.personinfo_page.wait_element("账号ID").get_attribute('text')
        print "获取的用户cid为: %s" % cid
        self.game_page.wait_element("关闭对话框").click()
        time.sleep(3)
        if (self.game_page.is_exist("关闭对话框")):  # 如果弹破产弹框,则关闭
            self.game_page.wait_element("关闭对话框").click()
            time.sleep(3)
        return cid

    def addmoney(self, mid):
        '''
        破产账号充值
        :return:
        '''
        user_info = PHPInterface.get_user_info(mid)  # 获取玩家信息
        coin = eval(user_info).get('result', {
            'coin': None
        }).get('coin')  # 获取当前银币值
        print coin
        AddMoney = 10000 - coin
        print AddMoney
        PHPInterface.add_money(mid, AddMoney)  # 将银币值设为60000

    def get_safebox_money(self):
        '''从保险箱取出全部存款'''
        self.safebox_page = Safebox_Page()
        # self.start_step("从保险箱取出所有存款")
        self.hall_page.wait_element("保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("取出").click()
        if (self.safebox_page.is_exist("确定---保险箱")):
            slider = self.safebox_page.wait_element("滚动条")
            addgoldbtn = self.safebox_page.wait_element("增加金条/银条数目")
            x = slider.location['x']
            y = slider.location['y']
            x1 = addgoldbtn.location['x']
            y1 = addgoldbtn.location['y']
            self.luadriver.swipe(x, y, x1, y1)
            self.safebox_page.wait_element("确定---保险箱").click()
            time.sleep(2)
            self.luadriver.keyevent(4)
        else:
            print("保险箱没有银币存款")
            time.sleep(2)
            self.luadriver.keyevent(4)

    def get_safebox_crystal(self):
        '''从保险箱取出全部金条'''
        self.safebox_page = Safebox_Page()
        self.hall_page.wait_element("保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("金条保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("取出").click()
        if (self.safebox_page.is_exist("确定---保险箱")):
            slider = self.safebox_page.wait_element("滚动条")
            addgoldbtn = self.safebox_page.wait_element("增加金条/银条数目")
            x = slider.location['x']
            y = slider.location['y']
            x1 = addgoldbtn.location['x']
            y1 = addgoldbtn.location['y']
            self.luadriver.swipe(x, y, x1, y1)
            self.safebox_page.wait_element("确定---保险箱").click()
            time.sleep(2)
            self.luadriver.keyevent(4)
        else:
            print("保险箱没有金条存款")
            self.luadriver.keyevent(4)
Пример #3
0
class C31046_DFQP_Safebox_Safeboxis0(TestCase):
    '''
    保险箱银币数为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_coin(mid=mid, value='10000')
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        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()
        time.sleep(3)
        Safebox_info = PHPInterface.get_safebox(mid)
        coin_saving = Safebox_info.get('safebox')
        if coin_saving > 0:
            self.start_step("将银币取出保险箱")
            self.common.swipeelement(
                self.safebox_page.wait_element("滚动条"),
                self.safebox_page.wait_element("增加金条/银条数目"))
            time.sleep(3)
            self.safebox_page.wait_element('确定---保险箱').click()
            time.sleep(3)
        user_info = PHPInterface.get_user_info(mid)  # 获取玩家信息
        coin = json.loads(user_info).get('result', {
            'coin': None
        }).get('coin')  # 获取当前银币值
        if coin > 20000:
            AddMoney = 10000 - coin
            PHPInterface.add_money(mid, AddMoney)
            self.luadriver.keyevent(4)
            self.common.closeactivity_switchserver(self.luadriver)
            self.hall_page.wait_element('保险箱').click()
            time.sleep(3)
            self.safebox_page.wait_element("取出").click()
            time.sleep(3)
            self.safebox_page.screenshot('safebox1.png')
        time.sleep(3)
        self.safebox_page.wait_element("取出").click()
        time.sleep(4)
        self.safebox_page.wait_element("存入").click()
        time.sleep(2)
        self.safebox_page.screenshot('safebox2.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #4
0
class C31048_DFQP_Safebox4(TestCase):
    '''
    保险箱金币不为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        global mid
        mid = self.common.get_config_value("casecfg", "mid")
        self.common.set_crystal(mid=mid, value='400')
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity(self.luadriver)

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element('金条保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将金条存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(3)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('1.png')
        self.start_step("将金条取出保险箱")
        self.safebox_page.wait_element('取出').click()
        time.sleep(3)
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(3)
        self.safebox_page.screenshot('2.png')
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('3.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        # self.common.closedriver()
        try:
            self.common.deletefile(self.luadriver)
            self.common.closedriver()
            self.common.recover_user(mid)
        except:
            self.log_info("close driver fail")
Пример #5
0
class C31048_DFQP_Safebox4(TestCase):
    '''
    保险箱金币不为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        global user_info, UserID
        user_info = self.common.get_user()
        print user_info
        UserID = user_info.get('mid')
        print 'UserID:%s' % UserID
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # cid = self.common.get_cid()
        # global mid
        # mid = PHPInterface.get_mid(cid, region=1)
        # print "用户mid为:%s" % mid
        PHPInterface.add_crystal(UserID, 400)
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        self.common.loginuser(user_info['user'], user_info['password'])
        self.common.closeActivityBtn()

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element('金条保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将金条存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(3)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('1.png')
        self.start_step("将金条取出保险箱")
        self.safebox_page.wait_element('取出').click()
        time.sleep(3)
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(3)
        self.safebox_page.screenshot('2.png')
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('3.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        # self.common.closedriver()
        try:
            self.common.deletefile(self.luadriver)
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
        finally:
            self.common.release_user(UserID)
Пример #6
0
class C31048_DFQP_Safebox3(TestCase):
    '''
    保险箱金币数为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        self.common.loginuser(self.casedata['user2'], self.casedata['password2'])
        i = 0
        while i < 3:
            i += 1
            try:
                self.personinfo_page.wait_element("关闭").click()
            except:
                print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入保险箱")
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条保险箱').click()
        self.safebox_page.wait_element("取出").click()
        Safebox_info = PHPInterface.get_safebox(UserID)
        crystal_saving = Safebox_info.get('crystalsafebox')
        if crystal_saving > 0:
            self.start_step("将金条取出保险箱")
            self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
            self.safebox_page.wait_element('确定---保险箱').click()
            time.sleep(3)
        user_info = PHPInterface.get_user_info(UserID)  # 获取玩家信息
        crystal = json.loads(user_info).get('result', {'crystal': None}).get('crystal')  # 获取当前金条值
        if crystal > 200:
            AddMoney = 100 - crystal
            PHPInterface.add_money(UserID, AddMoney)
            self.luadriver.keyevent(4)
            self.common.closeactivity_switchserver(self.luadriver, "预发布")
            self.hall_page.wait_element('保险箱').click()
            self.safebox_page.wait_element("取出").click()
        self.safebox_page.screenshot('1.png')
        self.safebox_page.wait_element("存入").click()
        time.sleep(1)
        self.safebox_page.screenshot('2.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #7
0
class C234_DFQP_Safebox(TestCase):
    '''
    银币取款操作-玩家持有银币现金小于2w,且保险箱没有钱,点击+-按钮及拖动滚动条,银币数量不改变
    '''
    owner = "YoungLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.common.closeactivitytest(self.luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        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 "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        Flag = True
        while Flag:  # 将保险箱中的银币存款值置0
            self.safebox_page.wait_element('减少金条/银条数目').click()
            savings = self.safebox_page.wait_element('存款').get_attribute(
                'text')
            if int(savings) == 0:
                self.safebox_page.wait_element('确定---保险箱').click()
                Flag = False
        time.sleep(5)
        UserID = self.casedata.get('mid')
        print 'UserID:%s' % UserID
        dict = PHPInterface.get_user_info(UserID)  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        print coin
        if coin > 20000 or coin < 3000:
            AddMoney = 13000 - coin  # 如果当前银币多于20000或少于3000,则将银币值设置为13000
            PHPInterface.add_money(UserID, AddMoney)
        self.common.closeactivitytest(
            self.luadriver)  #后台修改银币数量不会马上生效,故再次点击测试服按钮更新
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.start_step('获取当前银币值')
        coin = self.safebox_page.wait_element('现金').get_attribute('text')
        print type(coin)
        print '当前银币值:%s' % coin
        self.start_step('点击-按钮')
        self.safebox_page.wait_element('减少金条/银条数目').click()
        self.start_step('获取点击-按钮后的银币值')
        coin1 = self.safebox_page.wait_element('现金').get_attribute('text')
        print '点击-按钮后的银币值:%s' % coin1
        if coin1 == coin:
            print '银币数量未变'
        else:
            print '银币数量改变'
        self.start_step('点击+按钮')
        self.safebox_page.wait_element('增加金条/银条数目').click()
        self.start_step('获取点击+按钮后的银币值')
        coin2 = self.safebox_page.wait_element('现金').get_attribute('text')
        print '点击+按钮后的银币值:%s' % coin2
        if coin2 == coin1:
            print '银币数量未变'
        else:
            print '银币数量改变'
        slider = self.safebox_page.wait_element('滑动条')
        x = slider.location['x']  # slider x坐标
        y = slider.location['y']  # slider y坐标
        d = slider.size['width']
        # slider.swipe(x,y,x+d/2,y)
        self.start_step('点击滚动条')
        self.luadriver.swipe(x + d, y, x, y)
        self.start_step('获取点击滚动条后的银币值')
        coin3 = self.safebox_page.wait_element('现金').get_attribute('text')
        print '点击滚动条后的银币值:%s' % coin3
        if coin3 == coin2:
            print '银币数量未变'
        else:
            print '银币数量改变'
        self.start_step('点击确定')
        self.safebox_page.wait_element('确定---保险箱').click()
        self.personinfo_page.screenshot('.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Пример #8
0
class C31048_DFQP_Safebox2(TestCase):
    '''
        携带金币数大于200
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        # global user_info,UserID
        # user_info = self.common.get_user()
        # print user_info
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # UserID = user_info.get('mid')
        # print 'UserID:%s' % UserID
        cid = self.common.get_cid()
        global mid
        mid = PHPInterface.get_mid(cid, region=1)
        print "用户mid为:%s" % mid
        PHPInterface.add_crystal(mid, 300)
        self.start_step("重新加载,让添加的银币生效")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # self.hall_page.wait_element("头像").click()
        # time.sleep(5)
        # self.common.loginuser(user_info['user'], user_info['password'])
        # i = 0
        # while i < 3:
        #     i += 1
        #     try:
        #         self.personinfo_page.wait_element("关闭").click()
        #     except:
        #         print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("将金条存入保险箱")
        self.safebox_page.wait_element("金条保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        try:
            self.safebox_page.wait_element("存入").click()
            time.sleep(3)
        except:
            print "无此按钮"
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(3)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('safebox1.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        self.start_step("从保险箱取出银币")
        time.sleep(3)
        self.safebox_page.wait_element("取出").click()
        time.sleep(3)
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(2)
        self.safebox_page.wait_element('确定---保险箱').click()
        self.common.closedriver()
class C31067_DFQP_Exchange_Gold_Exchange1(TestCase):
    '''
    携带银币充足兑换
    总银币大于20w,携带银币大于103000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 8
    def pre_test(self):
        self.common = Common()
        global user_info
        user_info = self.common.get_user()
        print user_info
        self.start_step("设置银币大于20w")
        # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
        dict = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 200001 - int(coin)
        print AddMoney
        PHPInterface.add_money(user_info.get('mid'), AddMoney)  # 将设置银币值
        print PHPInterface.get_user_info(user_info.get('mid'))
        self.hall_page = Hall_Page()
        self.exchange_page = Exchange_Page()
        self.safebox_page = Safebox_Page()
        self.personinfo_page = Personinfo_Page()
        self.start_step("初始化Luadriver")
        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("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.safebox_page.wait_element("银币").click()
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        element1 = self.safebox_page.wait_element("滚动条")
        element2 = self.safebox_page.wait_element("增加金条/银条数目")
        swipe_startx = element1.location['x']
        swipe_starty = element1.location['y']
        swipe_endx = element2.location['x']
        swipe_endy = element2.location['y']
        print swipe_startx, swipe_starty, swipe_endx, swipe_endy,swipe_endx
        self.luadriver.swipe(swipe_startx, swipe_starty, swipe_startx+(swipe_endx-swipe_startx)/2, swipe_endy, 1000)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(5)
        self.luadriver.keyevent(4)
        self.start_step("进入金条兑换界面")
        time.sleep(3)
        self.exchange_page.wait_element("换金条").click()
        time.sleep(3)
        self.exchange_page.screenshot("Gold_Exchange1.png")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.luadriver.keyevent(4)
            self.start_step("将银币取出")
            # self.hall_page.wait_element('保险箱').click()
            time.sleep(3)
            self.hall_page.wait_element('保险箱').click()
            time.sleep(3)
            self.start_step("进入保险箱")
            self.safebox_page.wait_element("银币").click()
            self.safebox_page.wait_element("取出").click()
            time.sleep(3)
            self.start_step("将银币取出保险箱")
            self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
            self.safebox_page.wait_element('确定---保险箱').click()
            time.sleep(6)
        except:
            self.log_info("将银币取出保险箱失败")
        try:
            self.common.deletefile(self.luadriver)
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
        finally:
            self.common.release_user(user_info['mid'])
class C31069_DFQP_Exchange_Gold_Exchange3(TestCase):
    '''
    成功兑换金条
    总银币大于20w,携带银币等于103000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 8

    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        global user_info
        user_info = self.common.get_user()
        print user_info
        self.start_step("设置银币大于20w")
        dict = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        # dict = PHPInterface.get_user_info(2182942)  # 获取玩家信息
        print dict
        # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 200001 - int(coin)
        print AddMoney
        PHPInterface.add_money(user_info.get('mid'), AddMoney)  # 将设置银币值
        print PHPInterface.get_user_info(user_info.get('mid'))
        self.hall_page = Hall_Page()
        self.exchange_page = Exchange_Page()
        self.safebox_page = Safebox_Page()
        self.personinfo_page = Personinfo_Page()
        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("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.safebox_page.wait_element("银币保险箱").click()
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(5)
        self.luadriver.keyevent(4)
        self.start_step("进入金条兑换界面")
        time.sleep(3)
        dict = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        crystal = eval(dict).get('result', {'crystal': None}).get('crystal')  # 获取当前金币
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 103000 - int(coin)
        print AddMoney
        PHPInterface.add_money(user_info.get('mid'), AddMoney)  # 将设置银币值
        dict = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        print coin
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        self.exchange_page.wait_element("换金条").click()
        time.sleep(3)
        self.exchange_page.wait_element("确定兑换").click()
        time.sleep(2)
        self.exchange_page.screenshot("Gold_Exchange1.png")
        dict1 = PHPInterface.get_user_info(user_info.get('mid'))  # 获取玩家信息
        crystal1 = eval(dict1).get('result', {'crystal': None}).get('crystal')  # 获取当前金币
        self.assert_equal(True, crystal + 200, crystal1)

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        try:
            self.luadriver.keyevent(4)
            self.start_step("将银币取出")
            self.hall_page.wait_element('保险箱').click()
            time.sleep(3)
            self.start_step("进入保险箱")
            self.safebox_page.wait_element("银币").click()
            self.safebox_page.wait_element("取出").click()
            time.sleep(3)
            self.start_step("将银币取出保险箱")
            self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
            self.safebox_page.wait_element('确定---保险箱').click()
            time.sleep(6)
        except:
            self.log_info("将银币取出保险箱失败")
        try:
            self.common.deletefile(self.luadriver)
            self.common.closedriver()
        except:
            self.log_info("close driver fail")
        finally:
            self.common.release_user(user_info['mid'])
Пример #11
0
class C31066_DFQP_Exchange_Gold_Exchange(TestCase):
    '''
    携带银币不足兑换
    总银币大于20w,携带银币小于103000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 8
    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.start_step("设置银币大于20w")
        # PHPInterface.set_env(PHPInterface.PRE_REPUBLISH_ENV)
        dict = PHPInterface.get_user_info(self.casedata.get('mid'))  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 200001 - int(coin)
        print AddMoney
        PHPInterface.add_money(self.casedata.get('mid'), AddMoney)  # 将设置银币值
        print PHPInterface.get_user_info(self.casedata.get('mid'))
        self.hall_page = Hall_Page()
        self.exchange_page = Exchange_Page()
        self.safebox_page = Safebox_Page()
        self.personinfo_page = Personinfo_Page()
        self.start_step("关闭活动,并切换到测试服")
        self.common.closeactivity_switchserver(self.luadriver,"预发布")
        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("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("进入保险箱")
        self.safebox_page.wait_element("银币").click()
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(5)
        self.luadriver.keyevent(4)
        self.start_step("进入金条兑换界面")
        time.sleep(3)
        self.exchange_page.wait_element("换金条").click()
        time.sleep(3)
        self.exchange_page.screenshot("Gold_Exchange.png")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.luadriver.keyevent(4)
        self.start_step("将银币取出")
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.safebox_page.wait_element("银币").click()
        self.safebox_page.wait_element("取出").click()
        time.sleep(3)
        self.start_step("将银币取出保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(6)
        self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #12
0
class Common():

    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()
        time.sleep(2)
        try:
            self.setting_page.wait_element("关闭浮动球").click()
        except:
            print "浮动球已经关闭"
        time.sleep(3)
        try:
            self.setting_page.wait_element("页面返回").click()

        except:
            print "已经关闭"
        time.sleep(2)

    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"
        # command = "shell rm -r /mnt/sdcard/.com.boyaa.engineqpsc/dict/lastLoginInfo.dat"
        print command
        try:
            driver.adb(command)
        except:
            print "命令执行失败"
        #预发布  1lastLoginInfo.dat
        command1 = "shell rm -r /mnt/sdcard/."+package+"/dict/1lastLoginInfo.dat"
        print command1
        try:

            driver.adb(command1)
        except:
            print "命令执行失败"
        # 预发布  2lastLoginInfo.dat
        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(1)
        # 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("新手任务",6).click()
        except:
            print "未出现新手任务按钮"
        try:
            self.hall_page.wait_element("确认登陆",6).click()
        except:
            print "未出现登陆按钮"
        try:
            self.hall_page.wait_element("立即升级绑定账号",6).click()
            self.sign_page.wait_element("关闭1").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()
        self.closeactivity(luadriver)

    def switchserver(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(5)

    def closeActivityBtn(self):
        '''
        关闭活动弹框
        :return:
        '''
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        i = 0
        while (i < 4):
            i += 1
            try:
                self.sign_page.wait_element("关闭1").click()
                time.sleep(1)
            except:
                try:
                    self.sign_page.wait_element("关闭1").click()
                    time.sleep(1)
                except:
                    print "关闭对话框"


    def closeactivity_switchserver_reservenotice(self,luadriver,switchserver):#切换服务器但保留公告页面
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        time.sleep(15)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        time.sleep(5)
        try:
            self.hall_page.wait_element("确认登陆").click()
        except:
            print "未出现登陆按钮"
        i = 0
        while (i < 3):
            i += 1
            try:
                self.sign_page.wait_element("关闭1").click()
                time.sleep(1)
            except:
                try:
                    self.sign_page.wait_element("关闭1").click()
                    time.sleep(1)
                except:
                    print "关闭对话框"
        try:
            self.hall_page.wait_element("新手任务").click()
            time.sleep(2)
        except:
            print "未出现新手任务按钮"
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            print "未出现按钮"
        try:
            self.hall_page.wait_element(switchserver).click()
            time.sleep(1)
        except:
            print "未出现%s按钮"%switchserver
        time.sleep(15)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(2)

    def switchnetwork(self,luadriver, network):
        '''
        测试用例运行过程中切换网络
        '''
        if(network == '无网络'):
            print "设置为无网络状态"
            luadriver.set_network_connection(ConnectionType.NO_CONNECTION)
            # print luadriver.network_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 isloginuser(self,luadriver):
        '''
        判断是否是注册账号登陆,如果不是则切换到注册账号
        :param user:
        :param passwd:
        :return:
        '''
        self.login_page = Login_Page()
        self.setting_page = Setting_Page()
        self.hall_page = Hall_Page()
        # # 每个用例都需要关闭活动,把这个放在初始化里面实现
        # self.closeactivity(luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(6)
        try:
            if(self.setting_page.wait_element("立即升级").get_attribute('text') != u"立即升级"):
                return True
            else:
                return False
        except:
            return False

    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 swipeelement(self,element1,element2):
        # element1_size_width = element1.size['width']
        # element1_size_height = element1.size["height"]
        # element1_1_x = element1.location["x"]
        # element1_1_y = element1.location["y"]
        # 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 restart(self):
        self.luaobj = LuaDriver()
        self.luaobj.closeLuadriver()
        self.luaobj.creatLuaDriver()
        self.luadriver = self.luaobj.getLuaDriver()
        self.closeActivityBtn()
        return self.luadriver

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

    def getdata(self,string):
        string1 = string.encode('gbk')
        print type(string1)
        data = filter(str.isdigit, string1)
        print data
        return data

    def closeactivityprepublish(self, luadriver):
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(5)
        try:
            self.hall_page.wait_element("立即升级绑定账号").click()
            time.sleep(1)
            self.sign_page.wait_element("关闭1").click()
        except:
            print "未出现立即升级绑定账号按钮"
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        try:
            self.hall_page.wait_element("确认登陆").click()
        except:
            "未出现登陆按钮"
        self.closeActivityBtn()
        try:
            self.hall_page.wait_element("新手任务").click()
            time.sleep(2)
        except:
            print "未出现新手任务按钮"
        try:
            self.hall_page.wait_element("预发布").click()
        except:
            "未出现预发布按钮"
        time.sleep(5)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(5)
        try:
            luadriver.find_element_by_name("允许").click()
        except:
            "未出现按钮"
        time.sleep(2)
        try:
            self.hall_page.wait_element("立即升级绑定账号").click()
            time.sleep(1)
            self.sign_page.wait_element("关闭1").click()
        except:
            print "未出现立即升级绑定账号按钮"
        self.closeActivityBtn()

    def get_user(self):
        '''
        获取账号信息
        @return:
        '''
        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_mid):
        print "release"
        print user_mid
        try:
            user_util.release_account(user_mid)
        except:
            print "release user fail"

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

    def addmoney(self,mid):
        '''
        破产账号充值
        :return:
        '''
        user_info = PHPInterface.get_user_info(mid)  # 获取玩家信息
        coin = eval(user_info).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        print coin
        AddMoney = 10000 - coin
        print AddMoney
        PHPInterface.add_money(mid, AddMoney)  # 将银币值设为60000

    def get_safebox_money(self):
        '''从保险箱取出全部存款'''
        self.safebox_page = Safebox_Page()
        # self.start_step("从保险箱取出所有存款")
        self.hall_page.wait_element("保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("取出").click()
        if (self.safebox_page.element_is_exist("确定---保险箱")):
            slider = self.safebox_page.wait_element("滚动条")
            addgoldbtn = self.safebox_page.wait_element("增加金条/银条数目")
            x = slider.location['x']
            y = slider.location['y']
            x1 = addgoldbtn.location['x']
            y1 = addgoldbtn.location['y']
            self.luadriver.swipe(x, y, x1, y1)
            self.safebox_page.wait_element("确定---保险箱").click()
            time.sleep(2)
            self.luadriver.keyevent(4)
        else:
            print ("保险箱没有银币存款")
            time.sleep(2)
            self.luadriver.keyevent(4)

    def get_safebox_crystal(self):
        '''从保险箱取出全部金条'''
        self.safebox_page = Safebox_Page()
        self.hall_page.wait_element("保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("金条保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("取出").click()
        if (self.safebox_page.element_is_exist("确定---保险箱")):
            slider = self.safebox_page.wait_element("滚动条")
            addgoldbtn = self.safebox_page.wait_element("增加金条/银条数目")
            x = slider.location['x']
            y = slider.location['y']
            x1 = addgoldbtn.location['x']
            y1 = addgoldbtn.location['y']
            self.luadriver.swipe(x, y, x1, y1)
            self.safebox_page.wait_element("确定---保险箱").click()
            time.sleep(2)
            self.luadriver.keyevent(4)
        else:
            print ("保险箱没有金条存款")
            self.luadriver.keyevent(4)

    def get_game_list(self):
        '''
        获取当前界面子游戏列表名
        :return: 游戏列表名
        '''
        self.game_page = Game_Page()
        elements = self.game_page.get_elements("子游戏列表")
        print len(elements)
        #去重,同时去除game0(约牌,比赛场)和game-1(更多游戏)
        elementsblack = ["game0","game-1"]
        game_list = []
        for i in range(len(elements)):
            name =elements[i].get_attribute("name")
            print name
            if name not in elementsblack:
                elementsblack.append(name)
                game_list.append(elements[i])
        print len(game_list)
        return game_list

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

    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

    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 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 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)
Пример #13
0
class C31048_DFQP_Safebox4(TestCase):
    '''
    保险箱金币不为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        UserID = self.casedata.get('mid2')
        print 'UserID:%s' % UserID
        PHPInterface.add_crystal(UserID, 400)
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        self.common.loginuser(self.casedata['user2'], self.casedata['password2'])
        i = 0
        while i < 3:
            i += 1
            try:
                self.personinfo_page.wait_element("关闭").click()
            except:
                print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条保险箱').click()
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        self.start_step("将金条存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('1.png')
        self.start_step("将金条取出保险箱")
        self.safebox_page.wait_element('取出').click()
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.screenshot('2.png')
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('3.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #14
0
class C31044_DFQP_Safebox_Bringless2w(TestCase):
    '''
    携带银币数小于20000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        # global user_info,UserID
        # user_info = self.common.get_user()
        # print user_info
        self.start_step("初始化Luadriver")
        self.luadriver = self.common.setupdriver()
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        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)  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        print coin
        if coin > 20000 or coin < 3000:
            AddMoney = 10000 - coin  # 如果当前银币多于20000或少于3000,则将银币值设置为10000
            PHPInterface.add_money(mid, AddMoney)
        #重新加载
        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.closeactivity_switchserver(self.luadriver, "预发布")
        # 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.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(4)
        self.start_step("将银币存入保险箱")
        self.safebox_page.wait_element("银币保险箱").click()
        time.sleep(4)
        self.safebox_page.wait_element("存入").click()
        time.sleep(4)
        self.safebox_page.screenshot("safebox.png")

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #15
0
class C236_DFQP_Safebox(TestCase):
    '''
    银币取款操作-保险箱有存款,直接点击确定,银币数量不变
    '''
    owner = "YoungLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        UserID = self.casedata.get('mid')
        print 'UserID:%s' % UserID
        dict = PHPInterface.get_user_info(UserID)  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        if coin <= 20000:
            AddMoney = 23000 - coin  # 如果当前银币不多于20000,则将银币值设置为23000
            PHPInterface.add_money(UserID, AddMoney)
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.common.closeactivitytest(self.luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        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 "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.start_step('点击+按钮')
        self.safebox_page.wait_element('增加金条/银条数目').click()  #确保有存款
        self.start_step('点击确定')
        self.safebox_page.wait_element('确定---保险箱').click()
        self.hall_page.wait_element('保险箱').click()
        self.start_step('获取当前银币值,存款值')
        coin = self.safebox_page.wait_element('现金').get_attribute('text')
        savings = self.safebox_page.wait_element('存款').get_attribute('text')
        print type(coin)
        print '当前银币值,存款值:%s,%s' % (coin, savings)
        self.start_step('点击确定')
        self.safebox_page.wait_element('确定---保险箱').click()
        self.personinfo_page.screenshot('.png')
        self.start_step('获取点击【确定】后的银币值,存款值')
        coin1 = self.safebox_page.wait_element('现金').get_attribute('text')
        savings1 = self.safebox_page.wait_element('存款').get_attribute('text')
        print '点击【确定】后的银币值,存款值:%s,%s' % (coin1, savings1)
        if coin1 == coin and savings1 == savings:
            print '银币值未变,存款值未变'
        else:
            print '银币值改变,存款值改变'

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Пример #16
0
class C31047_DFQP_Safebox_Safeboxnot0(TestCase):
    '''
    保险箱银币不为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 15

    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # global user_info,UserID
        # user_info = self.common.get_user()
        # print user_info
        # UserID = user_info.get('mid')
        # print 'UserID:%s' % UserID
        cid = self.common.get_cid()
        global mid
        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 = 40000 - coin
        PHPInterface.add_money(mid, AddMoney)  # 将银币值设为40000
        self.start_step("重新加载,让添加的银币生效")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # self.hall_page.wait_element("头像").click()
        # time.sleep(5)
        # self.common.loginuser(user_info['user'], user_info['password'])
        # i = 0
        # while i < 3:
        #     i += 1
        #     try:
        #         self.personinfo_page.wait_element("关闭").click()
        #     except:
        #         print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入保险箱")
        self.hall_page.wait_element("保险箱").click()
        time.sleep(2)
        self.safebox_page.wait_element("存入").click()
        time.sleep(2)
        try:
            self.safebox_page.wait_element("存入").click()
            time.sleep(3)
        except:
            print "无此按钮"
        self.start_step("将银币存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(2)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('1.png')
        self.start_step("将银币取出保险箱")
        self.safebox_page.wait_element("取出").click()
        time.sleep(2)
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(2)
        self.safebox_page.screenshot('2.png')
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(2)
        self.safebox_page.screenshot('3.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(UserID)
        # self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #17
0
class C240_DFQP_Safebox(TestCase):
    '''
    金条取款操作-玩家持有金条大于200,且保险箱没有钱,点击+-按钮,操作存取款
    '''
    owner = "YoungLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.common.closeactivitytest(self.luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        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 "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条-老').click()
        Flag = True
        while Flag:  # 将保险箱中的金条存款值置0
            self.safebox_page.wait_element('减少金条/银条数目').click()
            savings = self.safebox_page.wait_element('存款').get_attribute(
                'text')
            if int(savings) == 0:
                self.safebox_page.wait_element('确定---保险箱').click()
                Flag = False

        time.sleep(5)
        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.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条-老').click()
        self.start_step('获取当前金条值,存款值')
        coin = self.safebox_page.wait_element('现金').get_attribute('text')
        savings = self.safebox_page.wait_element('存款').get_attribute('text')
        print type(coin)
        print '当前金条值,存款值:%s,%s' % (coin, savings)
        self.start_step('点击-按钮')
        self.safebox_page.wait_element('减少金条/银条数目').click()
        self.start_step('获取点击-按钮后的金条值')
        coin1 = self.safebox_page.wait_element('现金').get_attribute('text')
        savings1 = self.safebox_page.wait_element('存款').get_attribute('text')
        print '点击-按钮后的金条值,存款值:%s,%s' % (coin1, savings1)
        if coin1 == coin and savings1 == savings:
            print '金条值未变,存款值未变'
        else:
            print '金条值改变,存款值改变'
        self.start_step('点击+按钮')
        self.safebox_page.wait_element('增加金条/银条数目').click()
        self.start_step('获取点击+按钮后的金条值')
        coin2 = self.safebox_page.wait_element('现金').get_attribute('text')
        savings2 = self.safebox_page.wait_element('存款').get_attribute('text')
        print '点击+按钮后的金条值,存款值:%s,%s' % (coin2, savings2)
        if coin2 == coin1 and savings2 == savings1:
            print '金条值未变,存款值未变'
        else:
            print '金条值改变,存款值改变'
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(1)
        self.personinfo_page.screenshot('.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Пример #18
0
class C31048_DFQP_Safebox3(TestCase):
    '''
    保险箱金币数为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        # global user_info
        # user_info = self.common.get_user()
        # print user_info
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        cid = self.common.get_cid()
        global mid
        mid = PHPInterface.get_mid(cid, region=1)
        print "用户mid为:%s" % mid
        self.start_step("重新加载,让添加的银币生效")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        # self.hall_page.wait_element("头像").click()
        # time.sleep(5)
        # self.common.loginuser(user_info['user'], user_info['password'])
        # i = 0
        # while i < 3:
        #     i += 1
        #     try:
        #         self.personinfo_page.wait_element("关闭").click()
        #     except:
        #         print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入保险箱")
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element('金条保险箱').click()
        time.sleep(3)
        self.safebox_page.wait_element("取出").click()
        time.sleep(3)
        Safebox_info = PHPInterface.get_safebox(mid)
        crystal_saving = Safebox_info.get('crystalsafebox')
        if crystal_saving > 0:
            self.start_step("将金条取出保险箱")
            self.common.swipeelement(
                self.safebox_page.wait_element("滚动条"),
                self.safebox_page.wait_element("增加金条/银条数目"))
            time.sleep(3)
            self.safebox_page.wait_element('确定---保险箱').click()
            time.sleep(3)
        user_info1 = PHPInterface.get_user_info(mid)  # 获取玩家信息
        crystal = json.loads(user_info1).get('result', {
            'crystal': None
        }).get('crystal')  # 获取当前金条值
        if crystal > 200:
            AddMoney = 100 - crystal
            PHPInterface.add_money(mid, AddMoney)
            self.luadriver.keyevent(4)
            self.common.closeactivity_switchserver(self.luadriver, "预发布")
            self.hall_page.wait_element('保险箱').click()
            time.sleep(3)
            self.safebox_page.wait_element("取出").click()
        self.safebox_page.screenshot('1.png')
        self.safebox_page.wait_element("存入").click()
        time.sleep(1)
        self.safebox_page.screenshot('2.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(user_info['mid'])
        # self.common.deletefile(self.luadriver)
        self.common.closedriver()
Пример #19
0
class C241_DFQP_Safebox(TestCase):
    '''
    金条取款操作-保险箱有金条存款,不操作+-按钮,直接点击确认
    '''
    owner = "YoungLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 5

    def pre_test(self):
        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 = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.common.closeactivitytest(self.luadriver)
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        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 "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条-老').click()
        Flag = True
        while Flag:  # 使保险箱中的金条存款不为0
            savings = self.safebox_page.wait_element('存款').get_attribute(
                'text')
            if int(savings) > 0:
                Flag = False
            else:
                self.safebox_page.wait_element('增加金条/银条数目').click()
                self.safebox_page.wait_element('确定---保险箱').click()
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        self.safebox_page.wait_element('金条-老').click()
        self.safebox_page.wait_element('确定---保险箱').click()
        self.personinfo_page.screenshot('.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        self.common.closedriver()
Пример #20
0
class C31045_DFQP_Safebox_Bring3w(TestCase):
    '''
    	携带银币数大于20000
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10

    def pre_test(self):
        self.common = Common()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        # global user_info,UserID
        # user_info = self.common.get_user()
        # print user_info
        self.start_step("初始化Luadriver")
        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
        # UserID = user_info.get('mid')
        # print 'UserID:%s' % UserID
        dict = PHPInterface.get_user_info(mid)  # 获取玩家信息
        coin = eval(dict).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        # if coin <= 20000:
        #     AddMoney = 30000 - coin  # 如果当前银币不多于20000,则将银币值设置为30000
        PHPInterface.add_money(mid, 30000)
        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.closeactivity_switchserver(self.luadriver, "预发布")
        # 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.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("同步标志")
        self.start_step('进入保险箱页面')
        self.hall_page.wait_element('保险箱').click()
        time.sleep(3)
        self.start_step("将银币存入保险箱")
        self.safebox_page.wait_element("银币保险箱").click()
        time.sleep(3)
        self.safebox_page.wait_element("存入").click()
        time.sleep(3)
        try:
            self.safebox_page.wait_element("存入").click()
            time.sleep(3)
        except:
            print "无此按钮"
        self.start_step("拖动滑动条")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(8)
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(5)
        self.safebox_page.screenshot('safebox1.png')

    def post_test(self):
        '''
        测试用例执行完成后,清理测试环境
        '''
        # self.common.release_user(user_info['mid'])
        # self.common.deletefile(self.luadriver)
        self.start_step("从保险箱取出银币")
        time.sleep(3)
        self.safebox_page.wait_element("取出").click()
        time.sleep(3)
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"),
                                 self.safebox_page.wait_element("增加金条/银条数目"))
        time.sleep(2)
        self.safebox_page.wait_element('确定---保险箱').click()
        self.safebox_page.screenshot('safebox1.png')

        self.common.closedriver()
Пример #21
0
class C31047_DFQP_Safebox(TestCase):
    '''
    保险箱银币不为0时取款
    '''
    owner = "LucyLiu"
    status = EnumStatus.Design
    priority = EnumPriority.High
    timeout = 10
    def pre_test(self):
        UserID = self.casedata.get('mid2')
        print 'UserID:%s' % UserID
        user_info = PHPInterface.get_user_info(UserID)  # 获取玩家信息
        coin = json.loads(user_info).get('result', {'coin': None}).get('coin')  # 获取当前银币值
        AddMoney = 40000 - coin
        PHPInterface.add_money(UserID, AddMoney)  # 将银币值设为40000
        self.common = Common()
        # 初始化Luadriver
        self.luadriver = self.common.setupdriver()
        self.hall_page = Hall_Page()
        self.sign_page = Sign_Page()
        self.personinfo_page = Personinfo_Page()
        self.safebox_page = Safebox_Page()
        self.start_step("关闭活动,并切换到预发布")
        self.common.closeactivity_switchserver(self.luadriver, "预发布")
        self.hall_page.wait_element("头像").click()
        time.sleep(5)
        self.common.loginuser(self.casedata['user2'], self.casedata['password2'])
        i = 0
        while i < 3:
            i += 1
            try:
                self.personinfo_page.wait_element("关闭").click()
            except:
                print "已关闭窗口"

    def run_test(self):
        self.start_step("等待页面加载完成")
        self.hall_page.wait_element("同步标志")
        self.start_step("进入保险箱")
        self.hall_page.wait_element("保险箱").click()
        self.safebox_page.wait_element("存入").click()
        time.sleep(2)
        self.start_step("将银币存入保险箱")
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.wait_element('确定---保险箱').click()
        time.sleep(3)
        self.safebox_page.screenshot('1.png')
        self.start_step("将银币取出保险箱")
        self.safebox_page.wait_element("取出").click()
        self.common.swipeelement(self.safebox_page.wait_element("滚动条"), self.safebox_page.wait_element("增加金条/银条数目"))
        self.safebox_page.screenshot('2.png')
        self.safebox_page.wait_element('确定---保险箱').click()
        self.safebox_page.screenshot('3.png')

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