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")
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)
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()
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")
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)
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()
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()
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'])
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()
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)
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()
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()
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()
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()
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()
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()
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()
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()
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()