def tearDown(self): publicmethods(self.driver).quit()
def test_historylogininfo(self): try: try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement(page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage(dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement(page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage(dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value']) \ .click() publicmethods(self.driver).findelement(page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.登录['type'], page.MinePage.登录['value']).click() time.sleep(1) publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']).clear() publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['account']) publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], page.FundAccountLoginPage.交易密码['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # 获取验证码text res = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], page.FundAccountLoginPage.验证码图片['value']).text # 删除中间出现的空格 res = res.replace(' ','') # print(res) publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], page.FundAccountLoginPage.图形验证码['value']).send_keys(res) publicmethods(self.driver).findelement(page.FundAccountLoginPage.登录['type'], page.FundAccountLoginPage.登录['value']).click() publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods(self.driver).findelement(page.MinePage.我的信息['type'], page.MinePage.我的信息['value'])\ .click() try: publicmethods(self.driver).wait(page.HistoryLoginInfo.登录记录['type'],5, page.HistoryLoginInfo.登录记录['value']) publicmethods(self.driver).findelement(page.HistoryLoginInfo.登录记录['type'], page.HistoryLoginInfo.登录记录['value']).click() time.sleep(1) publicmethods(self.driver).getScreenShot('资金账号历史登录信息','成功') publicmethods(self.driver).backKey() publicmethods(self.driver).backKey() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement(page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1,2) except: publicmethods(self.driver).getScreenShot('资金账号历史登录信息','失败') # 报错信息 raise
def test_accountswitches(self): try: try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value']) \ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() time.sleep(1) publicmethods(self.driver).findelement( page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']).clear() publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['account']) publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], page.FundAccountLoginPage.交易密码['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # 获取验证码text res = publicmethods(self.driver).findelement( page.FundAccountLoginPage.验证码图片['type'], page.FundAccountLoginPage.验证码图片['value']).text # 删除中间出现的空格 res = res.replace(' ', '') # print(res) publicmethods(self.driver).findelement( page.FundAccountLoginPage.图形验证码['type'], page.FundAccountLoginPage.图形验证码['value']).send_keys(res) publicmethods(self.driver).findelement( page.FundAccountLoginPage.登录['type'], page.FundAccountLoginPage.登录['value']).click() try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass publicmethods(self.driver).wait(page.MinePage.交易['type'], 5, page.MinePage.交易['value']) publicmethods(self.driver).findelement( page.MinePage.交易['type'], page.MinePage.交易['value']).click() publicmethods(self.driver).wait(page.TraderPage.交易页下拉箭头['type'], 5, page.TraderPage.交易页下拉箭头['value']) publicmethods(self.driver).findelement( page.TraderPage.交易页下拉箭头['type'], page.TraderPage.交易页下拉箭头['value']).click() publicmethods(self.driver).wait(page.TraderPage.选择登录账号['type'], 5, page.TraderPage.选择登录账号['value']) # 选择账号列表中第二个资金账号,如果没有,则点击‘使用其他用户账户’ try: publicmethods(self.driver).findelement( page.TraderPage.账号列表['type'], page.TraderPage.账号列表['value'], num=1).click() publicmethods(self.driver).wait( page.SingleAccountLoginPage.资金账号['type'], 5, page.SingleAccountLoginPage.资金账号['value']) except: publicmethods(self.driver).findelement( page.TraderPage.使用其他用户账户['type'], page.TraderPage.使用其他用户账户['value']).click() publicmethods(self.driver).wait( page.SingleAccountLoginPage.资金账号['type'], 5, page.SingleAccountLoginPage.资金账号['value']) publicmethods(self.driver).findelement( page.SingleAccountLoginPage.资金账号['type'], page.SingleAccountLoginPage.资金账号['value']).clear() publicmethods(self.driver).findelement(page.SingleAccountLoginPage.资金账号['type'], page.SingleAccountLoginPage.资金账号['value'])\ .send_keys(dataes.FundAccountLogin.资金账号2['account']) publicmethods(self.driver).findelement(page.SingleAccountLoginPage.交易密码['type'], page.SingleAccountLoginPage.交易密码['value']) \ .send_keys(dataes.FundAccountPsw.资金账号通用密码['psw']) # 获取验证码text res = publicmethods(self.driver).findelement( page.SingleAccountLoginPage.验证码框['type'], page.SingleAccountLoginPage.验证码框['value']).text # 删除中间出现的空格 res = res.replace(' ', '') publicmethods(self.driver).findelement(page.SingleAccountLoginPage.图形验证码['type'], page.SingleAccountLoginPage.图形验证码['value']). \ send_keys(res) publicmethods(self.driver).findelement( page.SingleAccountLoginPage.登录['type'], page.SingleAccountLoginPage.登录['value']).click() try: # 判断能否找到交易按钮,找到了则切换成功,否则失败 publicmethods(self.driver).wait(page.MinePage.交易['type'], 5, page.MinePage.交易['value']) publicmethods(self.driver).getScreenShot('切换资金账号', '成功') time.sleep(1) publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('切换资金账号', '失败') # 报错信息 raise
def test_phonecodelogin(self): try: try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录xpath['type'], 5, page.LoginPage.登录xpath['value']) publicmethods(self.driver).findelement( page.LoginPage.手机号切换按钮['type'], page.LoginPage.手机号切换按钮['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录手机号['type'], 5, page.LoginPage.登录手机号['value']) publicmethods(self.driver).findelement( page.LoginPage.登录手机号['type'], page.LoginPage.登录手机号['value']).clear() publicmethods(self.driver).findelement(page.LoginPage.登录手机号['type'],page.LoginPage.登录手机号['value']).send_keys\ (publicmethods(self.driver).creatPhone()) publicmethods(self.driver).findelement( page.LoginPage.发送登录验证码['type'], page.LoginPage.发送登录验证码['value']).click() publicmethods(self.driver).findelement(page.LoginPage.登录验证码['type'],page.LoginPage.登录验证码['value']).send_keys\ (str(dataes.VerificationCode.验证码['value'])) publicmethods(self.driver).findelement(page.LoginPage.登录['type'], page.LoginPage.登录['value'], num=1).click() try: try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass # 查询能否找到资产总览按钮,能找到说明页面跳转,登录成功,案例通过,未找到时进入异常处理,给定False值传入Flag,案例失败 publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) publicmethods(self.driver).getScreenShot('手机号验证码登录', '成功') # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('手机号验证码登录', '失败') # 报错信息 raise
def test_fundaccountlogin(self): try: global i try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value'])\ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() time.sleep(1) publicmethods(self.driver).findelement( page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']).clear() publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['account']) publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], page.FundAccountLoginPage.交易密码['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # 获取验证码text res = publicmethods(self.driver).findelement( page.FundAccountLoginPage.验证码图片['type'], page.FundAccountLoginPage.验证码图片['value']).text # 删除中间出现的空格 res = res.replace(' ', '') publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], page.FundAccountLoginPage.图形验证码['value']). \ send_keys(res) publicmethods(self.driver).findelement( page.FundAccountLoginPage.登录['type'], page.FundAccountLoginPage.登录['value']).click() # # 获取验证码图片起始坐标 # beginpoint = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).location # # 获取验证码图片宽高 # codesize = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).size # while i <= 5: # try: # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value']).clear() # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value'])\ # .send_keys(dataes.FundAccountLogin.资金账号1['account']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], # page.FundAccountLoginPage.交易密码['value'])\ # .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # # 调用识别验证码 # res = publicmethods(self.driver).identifyCode(beginpoint,codesize,223) # # print(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], # page.FundAccountLoginPage.图形验证码['value']).send_keys(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.登录['type'], # page.FundAccountLoginPage.登录['value']).click() # publicmethods(self.driver).wait(page.ToastPage.资金账号验证码错误['type'],5, # page.ToastPage.资金账号验证码错误['value']) # i = i+1 # except: # try: # # 当图片解析异常时,更换验证码图片 # publicmethods(self.driver).wait(page.FundAccountLoginPage.资金账户['type'],2, # page.FundAccountLoginPage.资金账户['value']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).click() # i = i+1 # except: # i = 6 try: try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass # 查询能否找到资产总览按钮,能找到说明页面跳转,登录成功,案例通过,未找到时进入异常处理,给定False值传入Flag,案例失败 publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods(self.driver).getScreenShot('资金账号登录', '成功') time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('资金账号登录', '失败') # 报错信息 raise
def test_resetpaypsw(self): try: try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value'])\ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录xpath['type'], 5, page.LoginPage.登录xpath['value']) publicmethods(self.driver).findelement( page.LoginPage.手机号切换按钮['type'], page.LoginPage.手机号切换按钮['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录手机号['type'], 5, page.LoginPage.登录手机号['value']) publicmethods(self.driver).findelement( page.LoginPage.登录手机号['type'], page.LoginPage.登录手机号['value']).clear() publicmethods(self.driver).findelement(page.LoginPage.登录手机号['type'],page.LoginPage.登录手机号['value']).send_keys\ (str(dataes.PhoneAccount.重置支付密码手机号['value'])) publicmethods(self.driver).findelement( page.LoginPage.发送登录验证码['type'], page.LoginPage.发送登录验证码['value']).click() publicmethods(self.driver).findelement(page.LoginPage.登录验证码['type'],page.LoginPage.登录验证码['value']).send_keys\ (str(dataes.VerificationCode.验证码['value'])) publicmethods(self.driver).findelement(page.LoginPage.登录['type'], page.LoginPage.登录['value'], num=1).click() try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods( self.driver).findelement(page.MinePage.我的信息['type'], page.MinePage.我的信息['value']).click() publicmethods(self.driver).hideWait(5) # 获取九宫格起始位置坐标 loc = publicmethods(self.driver).findelement( page.JiuGongGe.九宫格['type'], page.JiuGongGe.九宫格['value']).location # 获取九宫格宽高 jiu_s = publicmethods(self.driver).findelement( page.JiuGongGe.九宫格['type'], page.JiuGongGe.九宫格['value']).size # 将获取的九宫格九个点的坐标列表传给gongge gongge = publicmethods(self.driver).jiu(loc, jiu_s) # print(gongge) # print(gongge[1][1]) # print(type(publicmethods(self.driver).pianyi(1,2,gongge)[0])) # 执行解锁(滑动操作) gongge[x]为元组,使用*gongge[x]将元组中的元素提取出来作为参数传入 # move_to中坐标为绝对坐标,至于到底使用相对偏移量还是绝对坐标,需要查看方法源码 TouchAction(self.driver).press(*gongge[1]).wait(300).move_to(*gongge[2]).wait(300)\ .move_to(*gongge[3]).wait(300).move_to(*gongge[6]).wait(300)\ .move_to(*gongge[9]).wait(300).release().perform() publicmethods(self.driver).wait(page.MineInfoPage.密码管理['type'], 15, page.MineInfoPage.密码管理['value']) publicmethods(self.driver).findelement(page.MineInfoPage.密码管理['type'],page.MineInfoPage.密码管理['value'])\ .click() publicmethods(self.driver).wait( page.MineInfoPage.忘记理财支付密码['type'], 15, page.MineInfoPage.忘记理财支付密码['value']) publicmethods(self.driver).findelement( page.MineInfoPage.忘记理财支付密码['type'], page.MineInfoPage.忘记理财支付密码['value']).click() publicmethods(self.driver).wait( page.ForgetPayPswPage.忘记理财支付密码主页['type'], 5, page.ForgetPayPswPage.忘记理财支付密码主页['value']) # 切换webview之前获取页面宽高 x = self.driver.get_window_size()['width'] # 获取屏幕宽度 y = self.driver.get_window_size()['height'] # 获取屏幕高度 contexts = self.driver.contexts # print(contexts) # chromedriver与手机webview中的chrome版本必须一致,否则switch_to会报错 # 切换到webview self.driver.switch_to.context(contexts[1]) # print(self.driver.current_context) publicmethods(self.driver).wait(page.ForgetPayPswPage.持卡人['type'], 15, page.ForgetPayPswPage.持卡人['value']) publicmethods(self.driver).findelement(page.ForgetPayPswPage.持卡人['type'],page.ForgetPayPswPage.持卡人['value'])\ .send_keys(dataes.ForgetPayPswInfo.持卡人['fullname']) publicmethods(self.driver).findelement(page.ForgetPayPswPage.身份证['type'],page.ForgetPayPswPage.身份证['value'])\ .send_keys(str(dataes.ForgetPayPswInfo.身份证['idno'])) publicmethods(self.driver).findelement(page.ForgetPayPswPage.卡号['type'],page.ForgetPayPswPage.卡号['value'])\ .send_keys(str(dataes.ForgetPayPswInfo.卡号['cardno'])) publicmethods(self.driver).findelement(page.ForgetPayPswPage.手机号['type'],page.ForgetPayPswPage.手机号['value'])\ .send_keys(str(dataes.ForgetPayPswInfo.手机号['phone'])) publicmethods(self.driver).findelement( page.ForgetPayPswPage.获取验证码['type'], page.ForgetPayPswPage.获取验证码['value']).click() time.sleep(2) publicmethods(self.driver).findelement(page.ForgetPayPswPage.验证码['type'],page.ForgetPayPswPage.验证码['value'])\ .send_keys(str(dataes.ForgetPayPswInfo.验证码['code'])) publicmethods(self.driver).findelement( page.ForgetPayPswPage.确定['type'], page.ForgetPayPswPage.确定['value']).click() publicmethods(self.driver).wait( page.ForgetPayPswPage.支付密码['type'], 5, page.ForgetPayPswPage.支付密码['value']) publicmethods(self.driver).findelement( page.ForgetPayPswPage.支付密码['type'], page.ForgetPayPswPage.支付密码['value']).click() # time.sleep(1) publicmethods(self.driver).wait( page.ForgetPayPswPage.安全软键盘页['type'], 5, page.ForgetPayPswPage.安全软键盘页['value']) # 自定义软键盘太恶心了,我还是服气了。暴力解决吧。。。 # adb = 'adb shell input tap 179 1355' # os.system(adb) # 将获取的软键盘按键坐标点的坐标字典传给numbutton numbutton = publicmethods(self.driver).H5keyboard(x, y) # 点击按键1 btn1 = 'adb shell input tap %s %s' % (numbutton[1][0], numbutton[1][1]) os.system(btn1) # 点击按键4 btn4 = 'adb shell input tap %s %s' % (numbutton[4][0], numbutton[4][1]) os.system(btn4) # 点击按键7 btn7 = 'adb shell input tap %s %s' % (numbutton[7][0], numbutton[7][1]) os.system(btn7) # 点击按键2 btn2 = 'adb shell input tap %s %s' % (numbutton[2][0], numbutton[2][1]) os.system(btn2) # 点击按键5 btn5 = 'adb shell input tap %s %s' % (numbutton[5][0], numbutton[5][1]) os.system(btn5) # 点击按键8 btn8 = 'adb shell input tap %s %s' % (numbutton[8][0], numbutton[8][1]) os.system(btn8) publicmethods(self.driver).findelement( page.ForgetPayPswPage.确认密码['type'], page.ForgetPayPswPage.确认密码['value']).click() publicmethods(self.driver).wait( page.ForgetPayPswPage.安全软键盘页['type'], 5, page.ForgetPayPswPage.安全软键盘页['value']) # 点击按键1 btn1 = 'adb shell input tap %s %s' % (numbutton[1][0], numbutton[1][1]) os.system(btn1) # 点击按键4 btn4 = 'adb shell input tap %s %s' % (numbutton[4][0], numbutton[4][1]) os.system(btn4) # 点击按键7 btn7 = 'adb shell input tap %s %s' % (numbutton[7][0], numbutton[7][1]) os.system(btn7) # 点击按键2 btn2 = 'adb shell input tap %s %s' % (numbutton[2][0], numbutton[2][1]) os.system(btn2) # 点击按键5 btn5 = 'adb shell input tap %s %s' % (numbutton[5][0], numbutton[5][1]) os.system(btn5) # 点击按键8 btn8 = 'adb shell input tap %s %s' % (numbutton[8][0], numbutton[8][1]) os.system(btn8) publicmethods(self.driver).findelement( page.ForgetPayPswPage.下一步['type'], page.ForgetPayPswPage.下一步['value']).click() # 切换回native再找toast元素 self.driver.switch_to.context(contexts[0]) try: publicmethods(self.driver).wait(page.ToastPage.密码重置成功['type'], 5, page.ToastPage.密码重置成功['value']) publicmethods(self.driver).getScreenShot('忘记支付密码', '成功') time.sleep(2) # 返回至我的页面 publicmethods(self.driver).backKey() publicmethods(self.driver).backKey() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: # 当在H5页面报错时,要切回appium驱动进行操作 self.driver.switch_to.context(contexts[0]) publicmethods(self.driver).getScreenShot('忘记支付密码', '失败') # 报错信息 raise
def test_bindphone(self): try: global i, exist try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value'])\ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() time.sleep(1) publicmethods(self.driver).findelement( page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']).clear() publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']) \ .send_keys(dataes.BindPhone.资金账号['account']) publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], page.FundAccountLoginPage.交易密码['value']) \ .send_keys(dataes.BindPhone.资金账号['psw']) # 获取验证码text res = publicmethods(self.driver).findelement( page.FundAccountLoginPage.验证码图片['type'], page.FundAccountLoginPage.验证码图片['value']).text # 删除中间出现的空格 res = res.replace(' ', '') publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], page.FundAccountLoginPage.图形验证码['value']). \ send_keys(res) publicmethods(self.driver).findelement( page.FundAccountLoginPage.登录['type'], page.FundAccountLoginPage.登录['value']).click() # # 获取验证码图片起始坐标 # beginpoint = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).location # # 获取验证码图片宽高 # codesize = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).size # while i <= 5: # try: # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value']).clear() # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value'])\ # .send_keys(dataes.BindPhone.资金账号['account']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], # page.FundAccountLoginPage.交易密码['value'])\ # .send_keys(dataes.BindPhone.资金账号['psw']) # # 调用识别验证码 # res = publicmethods(self.driver).identifyCode(beginpoint,codesize,223) # # print(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], # page.FundAccountLoginPage.图形验证码['value']).send_keys(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.登录['type'], # page.FundAccountLoginPage.登录['value']).click() # publicmethods(self.driver).wait(page.ToastPage.资金账号验证码错误['type'],5, # page.ToastPage.资金账号验证码错误['value']) # i = i+1 # except: # try: # # 当图片解析异常时,更换验证码图片 # publicmethods(self.driver).wait(page.FundAccountLoginPage.资金账户['type'],2, # page.FundAccountLoginPage.资金账户['value']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).click() # i = i+1 # except: # i = 6 try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods(self.driver).findelement(page.MinePage.我的信息['type'],page.MinePage.我的信息['value'])\ .click() publicmethods(self.driver).wait(page.BindPhone.手机号['type'], 5, page.BindPhone.手机号['value']) publicmethods( self.driver).findelement(page.BindPhone.手机号['type'], page.BindPhone.手机号['value']).click() publicmethods(self.driver).wait(page.BindPhone.绑定手机号['type'], 5, page.BindPhone.绑定手机号['value']) publicmethods(self.driver).findelement( page.BindPhone.绑定手机号['type'], page.BindPhone.绑定手机号['value']).click() publicmethods(self.driver).wait(page.BindPhone.手机号输入框['type'], 5, page.BindPhone.手机号输入框['value']) # 判断随机生成的手机号是否已被绑定,被占用则重新生成,否则继续执行 while exist == 0: try: publicmethods(self.driver).findelement(page.BindPhone.手机号输入框['type'], page.BindPhone.手机号输入框['value'])\ .send_keys(publicmethods(self.driver).creatPhone()) publicmethods(self.driver).findelement( page.BindPhone.发送验证码['type'], page.BindPhone.发送验证码['value']).click() publicmethods(self.driver).wait( page.ToastPage.手机号已绑定['type'], 2, page.ToastPage.手机号已绑定['value']) except: exist = 1 publicmethods(self.driver).findelement(page.BindPhone.验证码['type'],page.BindPhone.验证码['value'])\ .send_keys(dataes.VerificationCode.验证码['value']) publicmethods(self.driver).findelement( page.BindPhone.确定['type'], page.BindPhone.确定['value']).click() try: # 判断能否找到手机号绑定成功,找到了则绑定成功,否则失败 publicmethods(self.driver).wait( page.ToastPage.手机号绑定成功['type'], 10, page.ToastPage.手机号绑定成功['value']) publicmethods(self.driver).getScreenShot('绑定手机号', '成功') time.sleep(2) # 返回至我的页面 publicmethods(self.driver).backKey() publicmethods(self.driver).backKey() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('绑定手机号', '失败') # 报错信息 raise
def test_unbindaccount(self): try: try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value'])\ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录xpath['type'], 5, page.LoginPage.登录xpath['value']) publicmethods(self.driver).findelement( page.LoginPage.手机号切换按钮['type'], page.LoginPage.手机号切换按钮['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录手机号['type'], 5, page.LoginPage.登录手机号['value']) publicmethods(self.driver).findelement( page.LoginPage.登录手机号['type'], page.LoginPage.登录手机号['value']).clear() publicmethods(self.driver).findelement(page.LoginPage.登录手机号['type'],page.LoginPage.登录手机号['value']).send_keys\ (str(dataes.PhoneAccount.资金号加手机号['value'])) publicmethods(self.driver).findelement( page.LoginPage.发送登录验证码['type'], page.LoginPage.发送登录验证码['value']).click() publicmethods(self.driver).findelement(page.LoginPage.登录验证码['type'],page.LoginPage.登录验证码['value']).send_keys\ (str(dataes.VerificationCode.验证码['value'])) publicmethods(self.driver).findelement(page.LoginPage.登录['type'], page.LoginPage.登录['value'], num=1).click() try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods( self.driver).findelement(page.MinePage.我的信息['type'], page.MinePage.我的信息['value']).click() publicmethods(self.driver).hideWait(5) # 获取九宫格起始位置坐标 loc = publicmethods(self.driver).findelement( page.JiuGongGe.九宫格['type'], page.JiuGongGe.九宫格['value']).location # 获取九宫格宽高 jiu_s = publicmethods(self.driver).findelement( page.JiuGongGe.九宫格['type'], page.JiuGongGe.九宫格['value']).size # 将获取的九宫格九个点的坐标列表传给gongge gongge = publicmethods(self.driver).jiu(loc, jiu_s) # 执行解锁(滑动操作) gongge[x]为元组,使用*gongge[x]将元组中的元素提取出来作为参数传入 # move_to中坐标为绝对坐标,至于到底使用相对偏移量还是绝对坐标,需要查看方法源码 TouchAction(self.driver).press(*gongge[1]).wait(300).move_to(*gongge[2]).wait(300)\ .move_to(*gongge[3]).wait(300).move_to(*gongge[6]).wait(300)\ .move_to(*gongge[9]).wait(300).release().perform() publicmethods(self.driver).wait( page.MineFundAccountPage.我的资金账户['type'], 5, page.MineFundAccountPage.我的资金账户['value']) publicmethods(self.driver).findelement( page.MineFundAccountPage.我的资金账户['type'], page.MineFundAccountPage.我的资金账户['value']).click() publicmethods(self.driver).wait( page.MineFundAccountPage.资金账号列表1['type'], 5, page.MineFundAccountPage.资金账号列表1['value']) # 获取需要解绑资金账号列表框的起始点 loc = publicmethods(self.driver).findelement( page.MineFundAccountPage.资金账号列表1['type'], page.MineFundAccountPage.资金账号列表1['value']).location # 获取需要解绑资金账号列表框的宽高 size = publicmethods(self.driver).findelement( page.MineFundAccountPage.资金账号列表1['type'], page.MineFundAccountPage.资金账号列表1['value']).size publicmethods(self.driver).swipeLeftRight(loc, size, 0.8, 0.2) publicmethods(self.driver).wait( page.MineFundAccountPage.删除['type'], 5, page.MineFundAccountPage.删除['value']) publicmethods(self.driver).findelement( page.MineFundAccountPage.删除['type'], page.MineFundAccountPage.删除['value']).click() publicmethods(self.driver).wait( page.MineFundAccountPage.输入交易密码['type'], 5, page.MineFundAccountPage.输入交易密码['value']) publicmethods(self.driver).findelement(page.MineFundAccountPage.输入交易密码['type'], page.MineFundAccountPage.输入交易密码['value'])\ .send_keys(str(dataes.FundAccountPsw.资金账号通用密码['psw'])) publicmethods(self.driver).findelement( page.MineFundAccountPage.解绑交易密码确定['type'], page.MineFundAccountPage.解绑交易密码确定['value']).click() try: # 判断能否找到我要绑定,找到了则解绑成功,否则失败 publicmethods(self.driver).wait( page.MineFundAccountPage.我要绑定['type'], 10, page.MineFundAccountPage.我要绑定['value']) publicmethods(self.driver).getScreenShot('解绑资金账号', '成功') time.sleep(1) publicmethods(self.driver).findelement( page.MineFundAccountPage.我要绑定['type'], page.MineFundAccountPage.我要绑定['value']).click() publicmethods(self.driver).wait( page.MineFundAccountPage.输入交易密码['type'], 5, page.MineFundAccountPage.输入交易密码['value']) publicmethods(self.driver).findelement(page.MineFundAccountPage.输入交易密码['type'], page.MineFundAccountPage.输入交易密码['value']) \ .send_keys(str(dataes.FundAccountPsw.资金账号通用密码['psw'])) publicmethods(self.driver).findelement( page.MineFundAccountPage.验证交易密码确定['type'], page.MineFundAccountPage.验证交易密码确定['value']).click() time.sleep(10) # 返回至我的页面 publicmethods(self.driver).backKey() publicmethods(self.driver).backKey() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('解绑资金账号', '失败') # 报错信息 raise
def test_forgetshoushipsw(self): try: global i try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement(page.MinePage.退出登录['type'], page.MinePage.退出登录['value']) \ .click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() time.sleep(1) publicmethods(self.driver).findelement( page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']).clear() publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], page.FundAccountLoginPage.资金账户['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['account']) publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], page.FundAccountLoginPage.交易密码['value']) \ .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # 获取验证码text res = publicmethods(self.driver).findelement( page.FundAccountLoginPage.验证码图片['type'], page.FundAccountLoginPage.验证码图片['value']).text # 删除中间出现的空格 res = res.replace(' ', '') publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], page.FundAccountLoginPage.图形验证码['value']). \ send_keys(res) publicmethods(self.driver).findelement( page.FundAccountLoginPage.登录['type'], page.FundAccountLoginPage.登录['value']).click() # # 获取验证码图片起始坐标 # beginpoint = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).location # # 获取验证码图片宽高 # codesize = publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).size # while i <= 5: # try: # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value']).clear() # publicmethods(self.driver).findelement(page.FundAccountLoginPage.资金账户['type'], # page.FundAccountLoginPage.资金账户['value']) \ # .send_keys(dataes.FundAccountLogin.资金账号1['account']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.交易密码['type'], # page.FundAccountLoginPage.交易密码['value']) \ # .send_keys(dataes.FundAccountLogin.资金账号1['psw']) # # 调用识别验证码 # res = publicmethods(self.driver).identifyCode(beginpoint, codesize, 223) # # print(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.图形验证码['type'], # page.FundAccountLoginPage.图形验证码['value']).send_keys(res) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.登录['type'], # page.FundAccountLoginPage.登录['value']).click() # publicmethods(self.driver).wait(page.ToastPage.资金账号验证码错误['type'], 5, # page.ToastPage.资金账号验证码错误['value']) # i = i + 1 # except: # try: # # 当图片解析异常时,更换验证码图片 # publicmethods(self.driver).wait(page.FundAccountLoginPage.资金账户['type'], 2, # page.FundAccountLoginPage.资金账户['value']) # publicmethods(self.driver).findelement(page.FundAccountLoginPage.验证码图片['type'], # page.FundAccountLoginPage.验证码图片['value']).click() # i = i + 1 # except: # i = 6 try: publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: pass publicmethods(self.driver).wait(page.MinePage.我的信息['type'], 5, page.MinePage.我的信息['value']) publicmethods(self.driver).findelement(page.MinePage.我的信息['type'], page.MinePage.我的信息['value']) \ .click() publicmethods(self.driver).wait(page.MineInfoPage.密码管理['type'], 5, page.MineInfoPage.密码管理['value']) publicmethods(self.driver).findelement( page.MineInfoPage.密码管理['type'], page.MineInfoPage.密码管理['value']).click() publicmethods(self.driver).wait( page.ChangeShoushiPsw.修改手势密码['type'], 5, page.ChangeShoushiPsw.修改手势密码['value']) publicmethods(self.driver).findelement( page.ChangeShoushiPsw.修改手势密码['type'], page.ChangeShoushiPsw.修改手势密码['value']).click() publicmethods(self.driver).wait( page.ForgetShoushiPsw.忘记手势密码['type'], 5, page.ForgetShoushiPsw.忘记手势密码['value']) publicmethods(self.driver).findelement( page.ForgetShoushiPsw.忘记手势密码['type'], page.ForgetShoushiPsw.忘记手势密码['value']).click() publicmethods(self.driver).wait( page.ForgetShoushiPsw.输入交易密码['type'], 5, page.ForgetShoushiPsw.输入交易密码['value']) publicmethods(self.driver).findelement(page.ForgetShoushiPsw.输入交易密码['type'], page.ForgetShoushiPsw.输入交易密码['value'])\ .send_keys(dataes.FundAccountPsw.资金账号通用密码['psw']) publicmethods(self.driver).findelement( page.ForgetShoushiPsw.确定['type'], page.ForgetShoushiPsw.确定['value']).click() publicmethods(self.driver).wait( page.ForgetShoushiPsw.请设置手势密码['type'], 5, page.ForgetShoushiPsw.请设置手势密码['value']) # 获取九宫格起始位置坐标 loc = publicmethods(self.driver).findelement(page.JiuGongGe.九宫格['type'],page.JiuGongGe.九宫格['value'])\ .location # 获取九宫格宽高 jiu_s = publicmethods(self.driver).findelement(page.JiuGongGe.九宫格['type'], page.JiuGongGe.九宫格['value'])\ .size # 将获取的九宫格九个点的坐标列表传给gongge gongge = publicmethods(self.driver).jiu(loc, jiu_s) # 执行解锁(滑动操作) gongge[x]为元组,使用*gongge[x]将元组中的元素提取出来作为参数传入 # move_to中坐标为绝对坐标,至于到底使用相对偏移量还是绝对坐标,需要查看方法源码 TouchAction(self.driver).press(*gongge[1]).wait(300).move_to(*gongge[2]).wait(300) \ .move_to(*gongge[3]).wait(300).move_to(*gongge[6]).wait(300) \ .move_to(*gongge[9]).wait(300).release().perform() publicmethods(self.driver).wait( page.ForgetShoushiPsw.请再次绘制手势密码['type'], 5, page.ForgetShoushiPsw.请再次绘制手势密码['value']) TouchAction(self.driver).press(*gongge[1]).wait(300).move_to(*gongge[2]).wait(300) \ .move_to(*gongge[3]).wait(300).move_to(*gongge[6]).wait(300) \ .move_to(*gongge[9]).wait(300).release().perform() try: # 查询能否找到修改手势密码,能找到则修改成功,否则失败 publicmethods(self.driver).wait( page.ChangeShoushiPsw.修改手势密码['type'], 5, page.ChangeShoushiPsw.修改手势密码['value']) publicmethods(self.driver).getScreenShot('忘记手势密码', '成功') time.sleep(1) # 返回至我的页面 publicmethods(self.driver).backKey() publicmethods(self.driver).backKey() time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('忘记手势密码', '失败') # 报错信息 raise
def test_phoneregister(self): try: global exist try: publicmethods(self.driver).wait(page.AlertPage.确定['type'], 15, page.AlertPage.确定['value']) publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() publicmethods(self.driver).tapPage( dataes.Coordinate.行情页坐标['valuex'], dataes.Coordinate.行情页坐标['valuey']) except: pass publicmethods(self.driver).findelement( page.MinePage.我的['type'], page.MinePage.我的['value']).click() time.sleep(1) publicmethods(self.driver).tapPage( dataes.Coordinate.我的页坐标['valuex'], dataes.Coordinate.我的页坐标['valuey']) publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) try: # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) except: # 下拉页面 publicmethods(self.driver).swipeUpDown(0.5, 0.2, 0.8) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.登录['type'], page.MinePage.登录['value']).click() publicmethods(self.driver).wait(page.LoginPage.登录xpath['type'], 5, page.LoginPage.登录xpath['value']) publicmethods(self.driver).findelement( page.LoginPage.手机号切换按钮['type'], page.LoginPage.手机号切换按钮['value']).click() publicmethods(self.driver).findelement( page.LoginPage.手机号注册['type'], page.LoginPage.手机号注册['value']).click() publicmethods(self.driver).wait( page.RegisterPhonePage.手机号输入框['type'], 5, page.RegisterPhonePage.手机号输入框['value']) # 判断随机手机号是否已注册,已注册则重新清空输入,未注册则继续执行 while exist == 0: try: publicmethods(self.driver).findelement(page.RegisterPhonePage.手机号输入框['type'], page.RegisterPhonePage.手机号输入框['value'])\ .clear() publicmethods(self.driver).findelement(page.RegisterPhonePage.手机号输入框['type'],page.RegisterPhonePage.手机号输入框['value'])\ .send_keys(publicmethods(self.driver).creatPhone()) publicmethods(self.driver).findelement(page.RegisterPhonePage.下一步['type'],page.RegisterPhonePage.下一步['value'])\ .click() publicmethods(self.driver).wait( page.ToastPage.手机已注册['type'], 5, page.ToastPage.手机已注册['value']) except: exist = 1 publicmethods(self.driver).wait( page.RegisterPhonePage.验证码['type'], 5, page.RegisterPhonePage.验证码['value']) publicmethods(self.driver).findelement(page.RegisterPhonePage.验证码['type'],page.RegisterPhonePage.验证码['value'])\ .send_keys(dataes.VerificationCode.验证码['value']) publicmethods(self.driver).findelement(page.RegisterPhonePage.登录密码['type'],page.RegisterPhonePage.登录密码['value'])\ .send_keys(dataes.PhonePassword.手机通用登录密码['value']) publicmethods(self.driver).findelement(page.RegisterPhonePage.确认密码['type'],page.RegisterPhonePage.确认密码['value'])\ .send_keys(dataes.PhonePassword.手机通用登录密码['value']) publicmethods(self.driver).findelement( page.RegisterPhonePage.注册['type'], page.RegisterPhonePage.注册['value']).click() try: # 查询能否找到完成按钮,能找到说明页面跳转,注册成功,案例通过,未找到时进入异常处理,案例失败 publicmethods(self.driver).wait( page.RegisterPhonePage.完成['type'], 5, page.RegisterPhonePage.完成['value']) publicmethods(self.driver).getScreenShot('手机号注册', '成功') publicmethods(self.driver).findelement( page.RegisterPhonePage.完成['type'], page.RegisterPhonePage.完成['value']).click() publicmethods(self.driver).wait(page.MinePage.资产总览['type'], 5, page.MinePage.资产总览['value']) time.sleep(1) # 上滑页面 publicmethods(self.driver).swipeUpDown(0.5, 0.8, 0.2) publicmethods(self.driver).hideWait(5) publicmethods(self.driver).findelement( page.MinePage.退出登录['type'], page.MinePage.退出登录['value']).click() publicmethods(self.driver).findelement( page.AlertPage.确定['type'], page.AlertPage.确定['value']).click() except: print('未找到指定控件,案例失败') self.assertEqual(1, 2) except: publicmethods(self.driver).getScreenShot('手机号注册', '失败') # 报错信息 raise