我迅速找到了一个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)