UIATarget.onAlert 在 Instruments 5.0 中不起作用?
Posted
技术标签:
【中文标题】UIATarget.onAlert 在 Instruments 5.0 中不起作用?【英文标题】:UIATarget.onAlert doesn't work in Instruments 5.0? 【发布时间】:2013-10-03 14:01:51 【问题描述】:这段代码曾经在 Instruments 4.6 的自动化测试中运行良好:
UIATarget.onAlert = function onAlert(alert)
var title = alert.name();
UIALogger.logWarning("Alert with title ’" + title + "’ encountered!");
return false; // use default handler
我已升级到 XCode 5.0,但此代码不再有效。对警报没有反应——永远不会调用 onAlert。
是我遗漏了什么还是苹果真的把它弄坏了?
【问题讨论】:
你是在 ios 7 下运行的吗?也许它与操作系统版本有关,而不是 XCode 的。 这个用来工作的。 Apple 在 iOS 7 中打破了它。唉,我们必须提交错误报告。 这可能与iOS 7有关。 Instruments自动启动iOS 7 sumulator。顺便问一下,有没有办法告诉 Instruments 运行哪个模拟器? 更换硬件,下次再做,直到再次更换为止。 不,它总是将硬件更改为“iPhone”。我正在运行一个通用应用程序。在 XCode 4.6 中,我使用defaults write com.apple.iphonesimulator 'SimulateDevice' iPad
来设置模拟器,但它不适用于 XCode 5。
【参考方案1】:
添加延迟。我遇到了同样的问题,并在上面添加 UIATarget.localTarget().delay(5);
修复了它。看来,即使 Apple 不建议使用 delay() 函数,我也越来越需要它,因为元素可能需要几秒钟才能显示出来。警报需要一段时间才会出现,而脚本刚刚越过 onAlert。
【讨论】:
【参考方案2】:我在按钮点击调用后立即拨打了UIATarget.delay(0.2)
电话。它对我有用!
【讨论】:
以上是关于UIATarget.onAlert 在 Instruments 5.0 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章