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_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的自动化,很简陋