XCUITest - 除了睡眠之外,我还可以使用什么来在单击后退按钮后在屏幕上查找项目?

XCUITest - What else can I use besides sleep to find an item on the screen after the back button was clicked?

我们有多个 iOS XCUITests 单击了后退按钮。点击之后,我们在测试中做一些其他事情(根据测试有很多不同的事情)。然而,在我们应用程序的某些屏幕上,无论下一步是什么(另一个按钮点击、断言等),除非使用睡眠,否则测试将失败。似乎测试没有等待下一个屏幕完成它正在做的事情。这可能是绘图 ui 元素、背景项目 运行 等。当我添加 5 秒的睡眠时,测试正常并继续完成,没有任何问题。在自动化中,我的理解是睡眠并不理想,应尽可能避免。此外,我相信 XCUITests 在等待元素时有一些 built 的等待时间。但是,在这种情况下,如果没有睡眠,测试就会失败。

那么,为了改进自动化测试,除了像点击后退按钮这样的屏幕转换睡眠之外,我们还可以尝试哪些建议?

您可以等待新屏幕上的元素出现,也可以等待前一屏幕上的元素消失。

使用newElement.waitForExistence(timeout: 5)

previousElement.waitForDisappearance(timeout: 5)

在此处抓取 waitForDisappearance https://github.com/devexperts/screenobject