XCTest - 如何处理列表的滚动

时间:2017-08-04 20:33:21

标签: xcode swift3 xctest xcode-ui-testing ios-ui-automation

我正在使用xcode 8.3.3,swift和XCTest。我想知道当您计划针对多个模拟器运行测试并显示列表时,处理滚动的最佳方法是什么。由于屏幕大小可能会根据所使用的模拟器而改变,因此您要选择向上滚动的元素可能会也可能不会显示。

如果我有一个包含x#元素的列表,我该如何最好地使用哪个元素来滚动列表以使屏幕上显示下一组元素,以便测试将在多个不同的模拟器上运行屏幕尺寸?

当我们做" po XCUIApplication()"我们看到列表中的所有元素,所以为了知道哪一个是屏幕上显示的最后一个元素,我们必须查看每个元素并像isDisplayed一样进行检查,或者查找当前显示的最后一个元素。但我希望有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

如果在执行po XCUIApplication()时显示您要使用的元素,那么您应该能够tap()而无需将其滚动到视图中。如果框架可以找到元素,框架将自动处理滚动。

答案 1 :(得分:0)

这是我写的一篇文章,讨论了如何使用 SBTUITestTunnel 进行滚动:

https://rlukasik.medium.com/using-sbtuitesttunnel-for-scrolling-in-xcuitests-2e166440ca73