【问题标题】:XCUITest: Auto-Accepting System-Alerts. Need more fine grained controlXCUITest:自动接受系统警报。需要更细粒度的控制
【发布时间】:2017-03-13 21:22:43
【问题描述】:

我读到addUIInterruptionMonitorWithDescription 可用于接受/点击系统警报中的特定按钮。在最近尝试一些测试代码时,我正在执行以下操作:

  • 添加照片提醒
  • 添加日历提醒
  • 添加位置警报。

在模拟器上,我惊讶地发现日历和位置提示自动点击了“允许”按钮。对于照片提示,点击了“不允许”。我的问题是 - 不再需要addUIInterruptionMonitorWithDescription 了吗?我尝试使用它来点击对话框,但它没有做任何事情。即使我试图点击警报上的另一个按钮,我也没有看到它起作用。如何点击系统上的各个按钮来提醒她?

【问题讨论】:

    标签: ios xcode-ui-testing


    【解决方案1】:

    如果屏幕上有警报,并且您的中断处理程序都没有处理它,如果您使用的是 Xcode

    要获得对警报的控制,您应该为每个警报创建一个中断处理程序,当(且仅当)您已经处理了该处理程序打算用于的警报时,从闭包返回true .

    如果测试尝试了所有警报处理程序或从任何处理程序接收到true 返回值,并且屏幕上仍有警报,XCTest 将自行处理警报。

    【讨论】:

    • 谢谢!这很棒。
    • "如果屏幕上有警报,而您的中断处理程序都没有处理它,XCTest 将为您解除它。"
    • 嗯,是的,我注意到了。这就是依赖无证行为的麻烦......它可能随时改变。我会更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2019-09-04
    相关资源
    最近更新 更多