Answers:
fastlane
tableView的屏幕截图很有帮助。stackoverflow.com/a/39331154/4475605
isAccessibilityElement = true
在Xcode 9.3中,这显然仍然是一个问题,我所做的是:
对于录制新测试,我认为还没有解决方案。但是,如果您将扩展强制分接与已经存在的测试一起使用,则可以使用。
使用示例:
extension XCUIElement {
func forceTapElement() {
if self.hittable {
self.tap()
}
else {
let coordinate: XCUICoordinate = self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0))
coordinate.tap()
}
}
}
func testSomethingWithCells() {
let app = XCUIApplication()
let cells = app.tables.cells
sleep(1)
cells.elementBoundByIndex(0).forceTapElement()
}
您可以在此处查看原始帖子:
对我自己有用的解决方案是以不同方式标识对象。
在Xcode 8中,我可以使用以下代码:
XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()
使用Xcode 9,我得到了这个问题中提到的错误。最终使用了下面的方法,效果很好(虽然比原始选项有更多的火焰)
XCUIApplication().cells.element(boundBy: 1).tap()