【问题标题】:UIATarget.onAlert doesn't work in Instruments 5.0?UIATarget.onAlert 在 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。

标签: ios alert instruments xcode5 ios-ui-automation


【解决方案1】:

添加延迟。我遇到了同样的问题,并在上​​面添加 UIATarget.localTarget().delay(5); 修复了它。看来,即使 Apple 不建议使用 delay() 函数,我也越来越需要它,因为元素可能需要几秒钟才能显示出来。警报需要一段时间才会出现,而脚本刚刚越过 onAlert。

【讨论】:

    【解决方案2】:

    我在按钮点击调用后立即拨打了UIATarget.delay(0.2) 电话。它对我有用!

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 2021-10-30
      • 2017-10-24
      • 2021-09-25
      • 1970-01-01
      • 2015-04-04
      • 2013-10-31
      • 1970-01-01
      相关资源
      最近更新 更多