Swift UITest не может получить доступ к представленным view-кнопкам viewController - PullRequest
0 голосов
/ 11 января 2019

Когда мой viewController поставляется с segue и представлен, я не могу получить доступ к кнопкам внутри этого viewController. Напечатаны все элементы в XCUIApplication нет кнопок с моим идентификатором кнопки.

    self.view1Button.isAccessibilityElement = true
    self.view1Button.accessibilityIdentifier = "createHomeGroupButton"

Я даю идентификаторы и делаю их доступными, а также делаю их доступными view1Button.superview. Но я могу получить доступ к представленному viewControllers.view с идентификатором, но не могу получить доступ через кнопки-метки-представления и т. Д.

Редактировать: Также UITest Record не может получить доступ к кнопкам

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Я даю идентификаторы и делаю их доступными, а также делаю их доступными view1Button.superview.

Если вы сделаете суперпредставление кнопки доступным, вы не сможете увидеть саму кнопку как часть дерева доступности. Кнопка должна быть первым и единственным доступным элементом в ее иерархии представлений, поэтому убедитесь, что для всех представлений контейнеров isAccessibilityElement установлено на false.

Первый доступный элемент в дереве будет скрывать любые другие доступные в нем элементы.

0 голосов
/ 11 января 2019

Если по какой-то причине объект не присутствует сразу, вам может потребоваться подождать с таймаутом. Вы можете проверить документацию Apple: https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence

let button = app.buttons["createHomeGroupButton"]
let buttonExists = button.waitForExistence(timeout: 10)
XCTAssert(buttonExists)
...