我在“tableViewCell”中有一个“collectionView”,在XCTest上,我无法访问此“collectionview”或其“单元”。这是我访问此“collectionview”的代码。我也使用了accessibilityIdentifier,但是没有任何变化。我可以访问“tableViewCell”,但不能访问“collectionView”
app.tables.cells.element(boundBy: 7).collectionViews.element(boundBy: 0).cells.element(boundBy: 0)
最佳答案
如果我正确理解了这个问题,则无法获得collectionViewCell的原因是因为在collectionViewCell中,有一些手势响应程序,例如按钮。如果没有这样的subView或像标签一样的哑巴,仍然可以按以下方式获取collectionViewCells:
let collectionViewsQuery = XCUIApplication().tables.children(matching: .cell).element(boundBy: 1).collectionViews // the second table cell
let element = collectionViewsQuery.children(matching: .cell).element(boundBy: 3).children(matching: .other).element // the fourth cell
let element2 = collectionViewsQuery.children(matching: .cell).element(boundBy: 4).children(matching: .other).element // the fifth cell ,
等..
但是,如果任何单元格中都有一个按钮,则无法直接获取该单元格:
let tablesQuery = XCUIApplication().tables
let cell = tablesQuery.children(matching: .cell).element(boundBy: 1) // the second table cell
let button = cell.children(matching: .button).element(boundBy: 0) // the button which lies at any of collectionCell and not defined.
希望这能回答您的问题,为什么不获得收集单元。实际上,您可以先引用该单元格,然后再通过两个步骤尝试引用该按钮。
关于ios - Swift UITest在tableviewcell内找不到collectionview,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54129506/