Как получить доступ к элементу кнопки на панели управления универсальным способом под UITests в Xcode?

Проблема заключается в том, что я пытаюсь получить доступ к элементу кнопки "Назад", потому что он представлен:

  • Restaurants title,
  • Back title
  • без title

как на экранах:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

В настоящее время я обращаюсь к нему следующим образом:

let backButton = XCUIApplication().buttons["Restaurants"]

но он не будет работать для других случаев. Это не универсальный путь. Могу ли я как-то установить его accessibilityIdentifier или еще что-нибудь?

Ответы

Ответ 1

Обычно кнопка "назад" имеет тенденцию быть первым элементом кнопки в навигационной панели

app.navigationBars.buttons.element(boundBy: 0).tap()

Ответ 2

Здесь вы можете сделать это в Swift 3:

app.navigationBars.buttons.element(boundBy: 0).tap()

Ответ 3

На основе комментария Aaron Sofer вы также можете установить accessibilityIdentifier непосредственно в Interface Builder.

введите описание изображения здесь