Swift UITest не может получить доступ к представленным кнопкам представлений viewController

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

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

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

Изменить: также UITest Record не может получить доступ к кнопкам


person yildirimatcioglu    schedule 11.01.2019    source источник


Ответы (2)


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

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

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

person Oletha    schedule 12.01.2019

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

let button = app.buttons["createHomeGroupButton"]
let buttonExists = button.waitForExistence(timeout: 10)
XCTAssert(buttonExists)
person Todor Brachkov    schedule 11.01.2019
comment
Через 10 секунд все еще не существует - person yildirimatcioglu; 11.01.2019
comment
Вы действительно видите эту кнопку на экране во время выполнения теста? - person Todor Brachkov; 11.01.2019
comment
Да, есть. Также я могу проверить его рамку и т. д. с помощью приложения Sherlock. - person yildirimatcioglu; 11.01.2019
comment
Вы уверены, что проверяете app.buttons["createHomeGroupButton"] с тайм-аутом button.waitForExistence(timeout: 10)? - person Todor Brachkov; 11.01.2019
comment
Да, я уверен. Я думаю, что что-то блокирует доступ к кнопкам, но я не могу этого найти. - person yildirimatcioglu; 11.01.2019