python + airtest + poco + ios真机
case文件: ExecuteCodeIos.text
废话不多说直接上代码:
# # -*- encoding=utf8 -*-
__author__ = "UI自动化 ios 脚本"from airtest.core.api import *
from poco.drivers.ios import iosPoco
import os# 钉钉报警
from call_the_police import send_FeiShuwhile 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()# 准备一个文件用来写casewith 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的自动化,很简陋