我迅速找到了一个XCUI测试用例,试图确定某个单元是否已滚动到屏幕之外。但是,我注意到,一旦使用了单元格,当使用

XCTAssertTrue(app.tables.cells.StaticText["person"].exists)


这对我也不起作用

let window = app.windows.elementBoundByIndex(0)
let element = app.tables.cells.staticTexts["person"]
XCTAssertTrue(CGRectContainsRect(window.frame, element.frame))


由于第二次测试将通过,即使该单元格已滚动到屏幕之外。

有没有办法确定表格单元格是否不再在屏幕视图中?

最佳答案

使用hittable API on XCUIElement确定元素是否同时存在并在屏幕上。您应该在单元格上使用它。

注意:hittable在Swift 3中将成为isHittable

let cell = app.tables.cells.containingType(.StaticText, identifier: "person").elementBoundByIndex(0)
XCTAssertTrue(cell.hittable)

09-10 11:16
查看更多