• python+appium+iOS自动化测试case如何写?


    #!/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()
  • 相关阅读:
    安装最新版Mysql(APT方式安装)
    Tengine环境安装
    Docker 教程
    Docker Redis
    Ubuntu
    spring boot actuator 如何显示详细信息
    spring boot 加载日志框架后经常出现 LOG_PATH_IS_UNDEFINED 目录怎么办?【未解决】
    Tomcat 目录结构以及基本配置
    Java Hash集合的equals()与hashCode() 方法
    Java Map 集合实现类
  • 原文地址:https://www.cnblogs.com/lxmtx/p/12499303.html
Copyright © 2020-2023  润新知