#!/usr/local/bin/python3.7 from appium import webdriver from appium.webdriver.common.touch_action import TouchAction import time import random class SpeedTest: # 启动app def __init__(self): desired_caps = {} desired_caps['platformName'] = 'iOS' # 设备系统 desired_caps['platformVersion'] = '13.3' # 设备系统版本 desired_caps['deviceName'] = '' # 设备名称 desired_caps['bundleId'] = '' # 测试app包名 desired_caps['udid'] = '' #设备id desired_caps['automationName'] = 'XCUITest' # 测试框架 desired_caps['noReset']='true' # 保留app的登录状态 desired_caps['xcodeSigningId']='iOS Developer' # desired_caps['xcodeOrgId']='aaaaa' # 团队id desired_caps['newCommandTimeout']=3600 self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) # 保持端口号和appium服务端口一致 # 使用隐式等待或者显示等待,尽量减少time.sleep强制等待的使用提高脚本执行速度。 self.driver.implicitly_wait(1) def cashout(self): money_list = ['1元','5元','10元','50元'] money = random.choice(money_list) self.driver.find_element_by_name(money).click() if '立即提现' in self.driver.page_source: self.driver.find_element_by_name('立即提现').click() self.driver.back() self.driver.back() else: self.driver.back() self.driver.back() def speedtest(self,module): # 测速 TouchAction(self.driver).tap(x=206, y=307).perform() time.sleep(3) self.driver.find_element_by_name(module).click() def signin(self): if '补' in self.driver.page_source: # 获取'补'的个数 num = self.driver.find_element_by_name('补').size() for i in range(0,num): self.driver.find_element_by_name('补').click() self.driver.find_element_by_name('我要补签,拿回奖励').click() if '签到领积分' in self.driver.page_source: self.driver.find_element_by_name('签到领积分').click() self.driver.back() elif '签到领积分' in self.driver.page_source: self.driver.find_element_by_name('签到领积分').click() self.driver.back() else: self.driver.back() def task(self): if '去测速' in self.driver.page_source: self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='去测速']").click() self.speedtest('我的') if '去签到' in self.driver.page_source: self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='去签到']").click() self.signin() if '去观看' in self.driver.page_source: self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='去观看']").click() time.sleep(30) # 30s后返回 TouchAction(self.driver).tap(x=383, y=45).perform() if '去完成' in self.driver.page_source: self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='去完成']").click() self.cashout() if '去关注' in self.driver.page_source: self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='去关注']").click() self.driver.back() else: pass def share(self): share_list = ['QQ空间','QQ','新浪微博','微信','微信朋友圈'] share = random.choice(share_list) if share =='QQ空间': TouchAction(self.driver).tap(x=68, y=555).perform() TouchAction(self.driver).tap(x=49, y=12).perform() if share =='QQ': TouchAction(self.driver).tap(x=163, y=552).perform() TouchAction(self.driver).tap(x=49, y=12).perform() if share =='新浪微博': TouchAction(self.driver).tap(x=251, y=552).perform() TouchAction(self.driver).tap(x=49, y=12).perform() if share =='微信': TouchAction(self.driver).tap(x=337, y=545).perform() TouchAction(self.driver).tap(x=49, y=12).perform() if share =='微信朋友圈': TouchAction(self.driver).tap(x=73, y=637).perform() TouchAction(self.driver).tap(x=49, y=12).perform() def tools(self): # 网络工具 self.driver.find_element_by_name('Wi-Fi安全检测').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('网络诊断').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('PING测试').click() test_list = ['网址','IP'] test = random.choice(test_list) if test =='网址': self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField").send_keys('www.speedtest.cn') self.driver.find_element_by_name('请输入您想测试的网址').click() self.driver.find_element_by_xpath("//XCUIElementTypeStaticText[@name='PING']").click() self.driver.back() else: self.driver.find_element_by_name('IP').click() self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[3]/XCUIElementTypeTextField[1]").send_keys('32') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[3]/XCUIElementTypeTextField[2]").send_keys('110') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[3]/XCUIElementTypeTextField[3]").send_keys('6') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[3]/XCUIElementTypeTextField[4]").send_keys('119') self.driver.find_element_by_name('请输入您想测试的IP').click() self.driver.find_element_by_name('PING').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('5G检测').click() self.driver.find_element_by_name('宽带提速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('直播加速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('蹭网检测').click() time.sleep(1) self.driver.back() # 便民工具 self.driver.find_element_by_name('游戏测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('直播测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('抢红包测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('电商测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('购票测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('资讯测速').click() time.sleep(0.5) self.driver.back() # 向上滚动手机屏幕 self.driver.execute_script('mobile: scroll', {'direction': 'down'}) self.driver.find_element_by_name('搜索测速').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('电话归属地').click() time.sleep(1) self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField").send_keys('18162327089') self.driver.find_element_by_name('请输入要查询的手机号').click() self.driver.find_element_by_name('查询').click() time.sleep(1) self.driver.back() self.driver.find_element_by_name('IP测试').click() self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeTextField[1]").send_keys('117') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeTextField[2]").send_keys('157') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeTextField[3]").send_keys('161') self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeTextField[4]").send_keys('19') # 点击空白处出现查询按钮 TouchAction(self.driver).tap(x=209, y=107).perform() self.driver.find_element_by_name('查询').click() self.driver.back() def chart(self): inter_type = ['4G','宽带','Wi-Fi'] inter = random.choice(inter_type) if inter == '4G': if '先去测速' in self.driver.page_source: self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=298, y=18).perform() if '先去测速' in self.driver.page_source: self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=415, y=19).perform() if '先去测速' in self.driver.page_source: self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=369, y=61).perform() TouchAction(self.driver).tap(x=604, y=19).perform() if inter == '宽带': TouchAction(self.driver).tap(x=298, y=18).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=193, y=19).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=415, y=19).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=371, y=58).perform() TouchAction(self.driver).tap(x=604, y=19).perform() else: TouchAction(self.driver).tap(x=415, y=19).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=301, y=19).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=194, y=19).perform() if '先去测速' in self.driver.page_source: time.sleep(1) self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') else: TouchAction(self.driver).tap(x=368, y=61).perform() TouchAction(self.driver).tap(x=602, y=19).perform() def setting(self): self.driver.find_element_by_name('测速').click() # 设置 TouchAction(self.driver).tap(x=364, y=37).perform() unit_list = ['Mbps','MB/s','KB/s'] unit = random.choice(unit_list) # print(unit) if unit == 'Mbps': time.sleep(1) self.driver.find_element_by_name('Mbps').click() range_list = ['100','300','500','1000'] range = random.choice(range_list) time.sleep(1) self.driver.find_element_by_name(range).click() self.driver.back() if unit == 'MB/s': time.sleep(1) self.driver.find_element_by_name('MB/s').click() range_list = ['10','30','50','100'] range = random.choice(range_list) time.sleep(1) self.driver.find_element_by_name(range).click() self.driver.back() else: time.sleep(1) self.driver.find_element_by_name('KB/s') range_list = ['5000','10000','15000','30000'] range = random.choice(range_list) time.sleep(1) self.driver.find_element_by_name(range).click() self.driver.back() return unit def records(self): if '先去测速' in self.driver.page_source: self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') # 进入测速曲线页面 time.sleep(2) TouchAction(self.driver).tap(x=380, y=43).perform() self.chart() else: time.sleep(3) TouchAction(self.driver).tap(x=381, y=138).perform() # 添加备注 time.sleep(1) TouchAction(self.driver).tap(x=380, y=110).perform() tips = self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField") tips.clear() tips_list = ['网速管家自动化测试case','网速管家iOS app 测试','qqqqqqqqqqqqqqq','I love you','beautioffff'] tip = random.choice(tips_list) tips.send_keys(tip) self.driver.find_element_by_name('确定').click() time.sleep(0.5) self.driver.back() unit = self.setting() time.sleep(2) self.driver.find_element_by_name('记录').click() TouchAction(self.driver).tap(x=381, y=138).perform() name1 = '下载' + '/' + unit time.sleep(1) self.driver.find_element_by_name(name1).click() self.driver.find_element_by_name('知道啦').click() time.sleep(0.5) name2 = '上传' + '/' + unit self.driver.find_element_by_name(name2).click() self.driver.find_element_by_name('知道啦').click() time.sleep(0.5) self.driver.find_element_by_name('PING/毫秒').click() self.driver.find_element_by_name('知道啦').click() time.sleep(0.5) self.driver.find_element_by_name('抖动/毫秒').click() self.driver.find_element_by_name('知道啦').click() time.sleep(0.5) self.driver.find_element_by_name('丢包/%').click() self.driver.find_element_by_name('知道啦').click() time.sleep(0.5) self.driver.find_element_by_name('大型游戏').click() time.sleep(0.5) self.driver.back() self.driver.find_element_by_name('视频直播').click() self.driver.back() self.driver.find_element_by_name('文件传输').click() time.sleep(0.5) TouchAction(self.driver).tap(x=208, y=337).perform() num_list = ['100','1000','10000'] num = random.choice(num_list) self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField").send_keys(num) unit_list = ['KB','MB','GB'] unit = random.choice(unit_list) # print(unit) if unit =='KB': self.driver.find_element_by_name('KB').click() judje_list = ['取消','开始计算'] judje = random.choice(judje_list) if judje =='取消': self.driver.find_element_by_name('取消').click() self.driver.back() else: self.driver.find_element_by_name('开始计算').click() self.driver.back() if unit == 'MB': self.driver.find_element_by_name('MB').click() judje_list = ['取消','开始计算'] judje = random.choice(judje_list) if judje =='取消': self.driver.find_element_by_name('取消').click() self.driver.back() else: self.driver.find_element_by_name('开始计算').click() self.driver.back() else: self.driver.find_element_by_name('GB').click() judje_list = ['取消','开始计算'] judje = random.choice(judje_list) if judje =='取消': self.driver.find_element_by_name('取消').click() self.driver.back() else: self.driver.find_element_by_name('开始计算').click() self.driver.back() time.sleep(2) self.driver.find_element_by_name('抢红包').click() time.sleep(1) self.driver.back() # 分享 time.sleep(1) TouchAction(self.driver).tap(x=335, y=40).perform() self.share() # 删除 time.sleep(1) TouchAction(self.driver).tap(x=383, y=43).perform() device_list = ['取消','删除'] device = random.choice(device_list) if device == '取消': self.driver.find_element_by_name('取消').click() else: self.driver.find_element_by_name('删除').click() self.driver.back() time.sleep(1) if '先去测速' not in self.driver.page_source: TouchAction(self.driver).tap(x=337, y=42).perform() choice_list = ['是','否'] choice = random.choice(choice_list) if choice == '是': self.driver.find_element_by_name('是').click() else: self.driver.find_element_by_name('否').click() # 进入测速曲线 time.sleep(1) TouchAction(self.driver).tap(x=380, y=40).perform() time.sleep(1) self.chart() else: self.driver.find_element_by_name('先去测速').click() self.speedtest('记录') # 进入测速曲线页面 TouchAction(self.driver).tap(x=380, y=40).perform() time.sleep(1) self.chart() def perinfo(self): # 测试个人中心 self.driver.find_element_by_name('个人信息').click() # 更换头像 self.driver.find_element_by_name('头像').click() self.driver.find_element_by_xpath("//XCUIElementTypeButton[@name='从相册中选择']").click() time.sleep(1) self.driver.find_element_by_name('所有照片').click() time.sleep(2) # 使用坐标定位元素,前面一定要加延时(两种方法tap or press) TouchAction(self.driver).press(x=0, y=466).release().perform() self.driver.tap([(249,466)],500) self.driver.find_element_by_name('选取').click() time.sleep(1) # 填写昵称 self.driver.find_element_by_name('昵称').click() # 定义一个昵称列表 nick_name = ['墨殇浅辰','尘埃未定','只言片语','蔷薇·花开','夜思晨','酒不醉人人自醉','初恋栀子花'] nickName = self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField") # 清空之前的昵称 nickName.clear() nickName.send_keys(random.choice(nick_name)) self.driver.find_element_by_name('完成').click() # 选择性别 self.driver.find_element_by_name('性别').click() sex_list = ['男','女'] sex = random.choice(sex_list) if sex == '男': TouchAction(self.driver).tap(x=136, y=356).perform() # 通过坐标点击确定 TouchAction(self.driver).tap(x=282, y=457).perform() else: # 取消 TouchAction(self.driver).tap(x=129, y=457).perform() # 重置密码 time.sleep(0.5) self.driver.find_element_by_name('密码').click() self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField[1]").send_keys("18827441913") self.driver.find_element_by_name('获取验证码').click() # 取消验证码弹框 TouchAction(self.driver).tap(x=362, y=518).perform() self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField[2]").send_keys('111111') self.driver.find_element_by_name('下一步').click() time.sleep(0.5) # 返回 self.driver.back() # 返回我的页面 self.driver.back() # 积分 self.driver.find_element_by_name('积分').click() self.driver.find_element_by_name('积分介绍').click() self.driver.back() self.driver.find_element_by_name('可用积分').click() self.driver.find_element_by_name('可用积分明细').click() # 冻结积分明细 TouchAction(self.driver).tap(x=119, y=697).perform() self.driver.find_element_by_name('去提现').click() self.cashout() self.driver.find_element_by_name('冻结积分').click() self.driver.find_element_by_name('冻结积分明细').click() # 可用积分明细 TouchAction(self.driver).tap(x=122, y=641).perform() self.driver.find_element_by_name('去提现').click() self.cashout() self.driver.find_element_by_name('提现兑换').click() self.cashout() self.driver.find_element_by_name('积分').click() self.driver.find_element_by_name('提现记录').click() self.driver.back() self.driver.find_element_by_name('积分明细').click() self.driver.find_element_by_name('可用积分明细').click() # 冻结积分明细 TouchAction(self.driver).tap(x=144, y=696).perform() self.driver.find_element_by_name('去提现').click() self.cashout() self.task() self.driver.back() # 赚钱 self.driver.find_element_by_name('赚钱').click() # 广告 TouchAction(self.driver).tap(x=214, y=129).perform() self.driver.back() self.task() self.driver.back() # 设置 self.driver.find_element_by_name('设置').click() self.driver.find_element_by_name('关于我们').click() self.driver.find_element_by_name('评价我们').click() TouchAction(self.driver).tap(x=49, y=12).perform() self.driver.find_element_by_name('用户协议').click() self.driver.back() self.driver.find_element_by_name('隐私条款').click() self.driver.back() self.driver.find_element_by_name('联系方式').click() self.driver.back() self.driver.back() self.driver.find_element_by_name('帮助与反馈').click() self.driver.back() self.driver.find_element_by_name('清除缓存').click() option_list = ['是','否'] option = random.choice(option_list) if option =='是': self.driver.find_element_by_name('清除').click() else: self.driver.find_element_by_name('取消').click() self.driver.find_element_by_name('版本更新').click() TouchAction(self.driver).tap(x=49, y=12).perform() # 移动网络提醒 TouchAction(self.driver).tap(x=350, y=318).perform() self.driver.back() # self.driver.find_element_by_name('分享').click() # time.sleep(1) # self.share() time.sleep(1) # 工具箱 self.driver.find_element_by_name('工具箱').click() self.tools() # 记录 self.driver.find_element_by_name('记录').click() self.records() # 测速 self.driver.find_element_by_name('测速').click() time.sleep(1) self.setting() time.sleep(1) self.speedtest('测速') # 点击一个id定位的元素 # self.driver.find_element_by_accessibility_id("").click() # 给输入id定位的输入框传值 # self.driver.find_element_by_accessibility_id("").set_value("iostest") # 截图保存到当前文件 # self.driver.save_screenshot('IosAutoTest/records.png') # 关闭app self.driver.close_app() def test(self): # 首先判断是否登录 time.sleep(2) self.driver.find_element_by_name('我的').click() if '未登录' in self.driver.page_source: self.driver.find_element_by_name('未登录').click() self.driver.find_element_by_name('账号密码登录').click() self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeTextField").send_keys("18827441913") self.driver.find_element_by_xpath("//XCUIElementTypeApplication[@name='网速管家']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther[2]/XCUIElementTypeSecureTextField").send_keys("123456") self.driver.find_element_by_name('登录').click() self.perinfo() else: self.perinfo() if __name__ == '__main__': speedtest =SpeedTest() speedtest.test()