Если я правильно понимаю вопрос, причина, по которой вы не можете получить collectionViewCell, заключается в том, что в collectionViewCell есть некоторые средства реагирования на жесты, такие как кнопка. Если такого подвида нет или какой-то тупой как метка, все равно вы можете получить 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.
Надеюсь, это ответит на ваш вопрос, почему бы не получить ячейку для сбора. На самом деле, вы можете сначала ссылаться на ячейку, а затем попытаться сослаться на кнопку позже двумя шагами.