XCUITest 等待可能出现的元素

Posted

技术标签:

【中文标题】XCUITest 等待可能出现的元素【英文标题】:XCUITest wait for element that may appear 【发布时间】:2016-10-17 12:09:36 【问题描述】:

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

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

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

还有其他想法吗?

【问题讨论】:

【参考方案1】:

如果您想处理有关画廊访问的警报,请尝试以下操作:

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

app.tap()

无论警报是否存在,它都会起作用。

【讨论】:

恐怕这是一个自定义警报 :( 自定义警报不是从 UIAlertController 继承的吗?它继承自哪个 UIKit 类(如果有的话)? 请发布一些代码行。从这个自定义警报和你当前的 UITest 它是一个 UIView 子类。

以上是关于XCUITest 等待可能出现的元素的主要内容,如果未能解决你的问题,请参考以下文章

如何让 XCTest 应用程序(XCUITest 应用程序,而不是 SUT)访问照片库?

如何修复在 XCUITest 中等待应用空闲的问题

XCUITest 元素快照无法闪烁光标

为啥 XCUITest 对 iOS 应用程序运行太慢?

XCUITest 等待未经测试的应用程序达到空闲状态

有一种方法可以执行“长”向左滑动手势来删除 XCUITest 中的元素