从命令行运行UI自动化出错

3
我认为这是第一次出现这种情况——我遇到了一个错误,而当我在Google上搜索对应的异常常量时,却没有任何结果。
基本上,我正在尝试从CLI运行我的iOS应用程序上的UI自动化,并收到以下错误消息:
2013-02-22 13:12:17.820 ScriptAgent[16626:2e07] + [UIAXElement initialize]:UIAutomation从未收到kAXAccessibilityLoaded。 等待20.02秒。 2013-02-22 13:12:17.826 ScriptAgent[16626:2e07] - [UIAXElement_0xad343c initialize]中的意外错误,/ SourceCache / UIAutomation_Sim / UIAutomation-271 / Framework / UIAXElement.m第165行,kAXErrorServerNotFound 2013-02-22 13:12:17.828 ScriptAgent[16626:2e07] 由于未捕获的异常'kUIAExeceptionAccessibilityError'而终止应用程序,原因:'- [UIAXElement_0xad343c initialize]中的意外错误,/ SourceCache / UIAutomation_Sim / UIAutomation-271 / Framework / UIAXElement.m第165行,kAXErrorServerNotFound' 首次抛出调用堆栈: (0x491012 0x1b78e7e 0x490deb 0xa8a55b 0x1b797cf 0x1b80a0d 0x1b77aeb 0x1b77e22 0x1b8a0e1 0xaa2605 0xa847 0x5d8d 0x866d 0x2925) libc ++ abi.dylib:使用异常终止
2013-02-22 13:12:18.264 instruments[16585:2227]在尝试运行脚本时,自动化工具遇到了异常。 UIAScriptAgentSignaledException 2013-02-22 19:12:18 +0000失败:尝试运行脚本时发生错误。 Instruments跟踪完成(持续时间:41.326542s;输出:/Users/newmanp/Work/iOS/CMAiPad/CMA.Mobile/UIScripts/instrumentscli3.trace)
当我搜索kAXAccessibilityLoaded或kAXErrorServerNotFound时,根本没有任何结果。这是我的命令行调用的样子:
instruments -t~/Work/iOS/Platforms/iPhoneOS.platform//Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/newmanp/Library/Application\ Support/iPhone\ Simulator/6.0/Applications/B60B9BD7-357D-49AA-9E6F-986929C5D151/CMA.app -e UIASCRIPT ./cmaAutomationTests.js -e UIARESULTSPATH“。”
非常感谢您提供有关我可能做错了什么的建议。

我在你的运行方式中没有看到任何明显的问题。那些错误非常奇怪,我以前从未见过,并且每天都会对多个应用程序运行UI自动化。我想知道你的Xcode安装是否有问题。为了尝试隔离问题,请下载我的示例项目https://github.com/jonathanpenn/AutomationExample并运行`./runautomation.sh`脚本,看看是否得到相同的结果。如果是,则意味着您的安装已损坏。如果不是,则必须是您的项目有特殊之处。 - Jonathan Penn
是的,基本上和你的项目一样 - + [UIAXElement initialize]:UIAutomation从未收到kAXAccessibilityLoaded。 等待了20.02秒。 在-[UIAXElement_0xad343c initialize]中出现意外错误,/ SourceCache / UIAutomation_Sim / UIAutomation-271 / Framework / UIAXElement.m行165,kAXErrorServerNotFound。 - fogwolf
那我该如何重新安装Instruments呢? - fogwolf
在安装了Xcode 4.6之后,这种情况开始发生在我身上。我的自动化在4.5.2中是正常工作的。 - satyajit
在我删除了4.6并回到4.5.2之后,我看到了这条消息 -+[UIAXElement initialize]: UIAutomation从未收到kAXAccessibilityLoaded。等待了20.02秒。现在我能够运行自动化程序。 - satyajit
3个回答

10

当“设置”应用程序中的“开发人员”部分未启用“启用UI自动化”时,我们看到了此错误。打开该设置可以解决此错误。


我必须启动Xcode并在iOS设备上运行一个虚拟应用程序。这似乎会初始化手机上的某些内容,但我不确定是什么。完成此操作后,命令行可以正常工作。有没有想法是否可以通过命令行完成此操作? - Empario
这正是我所遇到的问题。 - Donovan

0

请确保在重新运行时不要使用sudo appium,而只需使用appium。 - Alexander McConaughey
感谢建议。我尝试了这个,但是找不到 /tmp/instruments_sock。 - fogwolf

0
我的UIAScriptAgentSignaledException问题已经解决了,方法是在iPhone/设置/开发者/UI自动化部分启用“启用UI自动化”选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接