IOS 自动化

python + airtest + poco + ios真机

case文件: ExecuteCodeIos.text
case 格式

废话不多说直接上代码:

# # -*- encoding=utf8 -*-
__author__ = "UI自动化 ios 脚本"

from airtest.core.api import *
from poco.drivers.ios import iosPoco
import os

# 钉钉报警
from call_the_police import send_FeiShu

while True:
    devices = []
    dev_list = []
    for dName_ in os.popen("tidevice list"):
        dev_list.append(dName_)
    for i_lsit in dev_list[1].split(' '):
        if i_lsit != '':
            devices.append(i_lsit.replace('\n', ''))

    if len(dev_list) == 2:
        msg = 'ios手机 导致无法找到UUID 进行启动ios自动化脚本。'
        send_FeiShu("无法连接", msg)
        exit()

    else:
        auto_setup(__file__)
        ios_device = connect_device(f"iOS:///http+usbmux://{devices[0]}")
        poco = iosPoco()
        snapshot()
        start_app("应用包名") # 放入应用包名
        time.sleep(4)
        # poco("抖查查").click()

        if ios_device.alert_exists() == True:
            print("获取弹框中的描述文案: {}".format(ios_device.driver.alert.text))
            if "抖查查" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("允许").click()
                swipe((286, 292), (25, 457))
                swipe((286, 292), (25, 457))
                poco("立即体验").click()
                time.sleep(4)
            elif "好像哪里出错了" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("返回").click()
            elif "信息走失啦" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("刷新").click()
            elif "暂无数据" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("稍后再试").click()
            elif "访问过于频繁" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("稍后再试").click()
            elif "您当前账号登录" in "获取弹框中的描述文案: {}".format(ios_device.driver.alert.text):
                poco("取消").click()


        def IosLonIn():
            poco("登录获取更多体验").click()
            poco("密码登录").click()
            poco("TextField").click()
            text("账号") # 登录账号
            poco("SecureTextField").click()
            text("密码") # 登录密码
            poco("登录").click()


        def IosLonOut():
            poco("mine setting new").click()
            poco("退出登录").click()

		# 准备一个文件用来写case
        with open("ExecuteCodeIos.text", 'r', encoding='utf-8') as code_find:
            code_list = [code_i.split('、')[1].replace('\n', '').split(' - ') for code_i in code_find.readlines()]
            for i in range(len(code_list)):
                for i_code in code_list[i]:
                    if i_code.encode('utf-8').isalpha() == True:
                        keyevent(f"{i_code}")
                    else:
                        if i_code == "登录":
                            IosLonIn()
                        elif i_code == "退出登录":
                            IosLonOut()
                        else:
                            print(i_code)
                            poco(f'{i_code}').click()
    break

以上就是ios的自动化,很简陋

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值