自动化设置应用程序,iPhone
我正在尝试在iPhone上使用UI Automation连接到任何给定的Wi-Finetworking。 我想自动设置应用程序。 它应该自动:
- 打开“设置”应用
- 打开Wi-Fi;
- 通过提供SSID和WPA连接到给定的networking。
我的问题是:
- 使用UI自动化可以自动化任何内置的应用程序吗? Apple / iOS安全模型是否阻止了对内置应用程序的访问?
- 如果有可能,如何实现这一目标?
我知道我迟到了,但我想提供一个更完整的答案,并详细阐述我的解决scheme。
我从shell脚本运行我的uiautomation,这是我的解决scheme..
(你将不得不删除空格等)
settingsapp.sh
#!/bin/bash sleep 5s instruments -v -w MY_SIMULATOR_DEVICE_ID -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/ PlugIns/AutomationInstrument.xrplugin/Contents/Resources/ Automation.tracetemplate /Applications/Xcode.app/Contents/Developer/ Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/ Applications/Preferences.app -e UIASCRIPT /Users/ path to my js file/settingapp.js
settingapp.js
var target = UIATarget.localTarget(); target.delay(1.0); target.frontMostApp().mainWindow().tableViews()[0].cells() ["General"].tap(); target.delay(1.0); target.frontMostApp().mainWindow().tableViews()[0].cells() ["Language & Region"].tap(); target.delay(1.0); target.frontMostApp().mainWindow().tableViews()[0].cells() ["Region"].tap(); target.delay(1.0); target.frontMostApp().mainWindow().tableViews()[0].cells() ["United Kingdom"].tap(); target.delay(1.0);
所以你可以有几个shell脚本,第一个是设置语言,第二个是屏幕截图,第二个是另一个语言。
🙂
是的,这是可能的,也很容易做到。 select“Preferences.app”(设置)作为您的目标,并为其余的脚本编写脚本。 “Preferences.app”位于您的Xcode应用程序中
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs//Applications/Preferences.app