ios - XCUITest等待可能出现的元素

标签 ios xctest xcode-ui-testing

我在使用 XCUITest 时遇到了一种情况,我试图消除“可能”出现的警报。

这是用户第一次进入照片编辑器时弹出的教程,但它只会在第一次启动时弹出。由于我们不想在每次测试之间重置模拟器(出于速度原因),此警报“可能”或“可能不会”出现在任何给定测试中。

我一直在使用 waitWithExpectation 来处理类似的其他事情,但如果没有警报,就不会有期望。我真的很想避免让线程休眠。

还有其他想法吗?

最佳答案

如果你想处理画廊访问的警报,试试这个:

addUIInterruptionMonitorWithDescription("Access Your Photos") { (alert) -> Bool in
       if alert.buttons["OK"].exists {
            alert.buttons["OK"].tap()
            return true
       }
       return false
}
app.tap()

无论警报是否存在,它都有效。

关于ios - XCUITest等待可能出现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40086036/

相关文章:

ios - ARSKView 快照 iOS

ios - "XXX-Swift.h"测试项目中找不到文件

ios - 无法覆盖 Swift XCTestCase 中的 init() 函数

ios - swift数组排序结果问题

iphone - 如何将 iOS 无线 (OTA) 版本同步回 iTunes?

ios - 为什么将 NSString 对象传递给 XCTAssertTrue 的 "format"参数会导致构建错误?

ios - 无法在测试框架中使用 XCTUnwrap

ios - 在 Xcode 7 中进行 UI 测试时应用程序资源不可用

ios - UI 测试失败 - 元素和任何后代都没有键盘焦点在 secureTextField 上

ios - 无法将类型 '()' 的值转换为预期参数 '() -> void'