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()

 

posted @ 2020-03-15 18:50  梅梅不想踩坑  阅读(702)  评论(0编辑  收藏  举报