使用 XCUI 测试用例测试 UICollectionView 无限滚动

Posted

技术标签:

【中文标题】使用 XCUI 测试用例测试 UICollectionView 无限滚动【英文标题】:Testing UICollectionView infinite scroll with XCUI Test case 【发布时间】:2016-02-15 12:37:40 【问题描述】:

如何在我的一个集合视图中测试无限滚动?我尝试像 "pull to refresh" example 中解释的那样模拟滚动,但没有成功。

let app = XCUIApplication()
let start = app.coordinateWithNormalizedOffset(CGVectorMake(1, 6))
let finish = app.coordinateWithNormalizedOffset(CGVectorMake(1, 0))
var x = 0
while(x < 20)
  x++
  start.pressForDuration(0, thenDragToCoordinate: finish)

(while 条件仅用于测试,我将在滚动工作时将其更改为询问是否存在特定元素)

【问题讨论】:

【参考方案1】:

如果您只是测试无限滚动,您可能不需要下拉到坐标级 API。相反,只需像用户滚动一样滑动集合视图。

let app = XCUIApplication()
let newCell = app.staticTexts["Page 2 Item"]
XCTAssertFalse(newCell.exists)

app.collectionView.element.swipeUp()
XCTAssert(newCell.exists)

【讨论】:

以上是关于使用 XCUI 测试用例测试 UICollectionView 无限滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Test suit XCUI 中禁用某些测试用例?

如何编写 XCUI 测试以确定我是不是导航到正确的屏幕?

一起使用 XCUI 测试和 XC 测试

使用 XCUI 进行 UI 测试

打开 url 外部浏览器时是不是可以测试 uitest (XCUI)?

使用 XCUI 在 iOS 模拟器上使用 NightwatchJS 进行自动化测试