XCUITest не распознает оповещение

Я новичок в XCUITest и столкнулся с проблемой, когда он не распознает предупреждение.

Я использовал рекордер для получения команд, но когда я пытаюсь воспроизвести его, он выходит из строя с ошибкой, говорящей:

Не найдено совпадений для Find: Потомки, соответствующие типу Alert from input...

let app = XCUIApplication()
    app.navigationBars["Spree.HomeWebView"].children(matching: .button).element(boundBy: 1).tap()
    app.alerts["Select a Saved Password to Use With “Spree-DEBUG”"].buttons["Not Now"].tap()  

Я подумал, что это может быть проблема с двойными кавычками в строке, но когда я попробовал следующее:

app.alerts["Select a Saved Password to Use With \“Spree-DEBUG\”"].buttons["Not Now"].tap()

Это неверная escape-последовательность в буквальном.

1 ответ

Наконец, я нашел реальное решение, в основном то, что происходит. IOS 11-12 отлично работает с обработчиком, а iOS13 - нет, если вы удалите приложение во время автоматизации. Итак, ребята представили, что вам нужно использовать трамплин для обработки предупреждений, которые не являются частью приложения, и вывод:

  1. Обработка addUIInterruptionMonitor
  2. Обработка app.alerts
  3. оповещения о трамплине

Поскольку вы хотите запросить кнопку, которая находится внутри оповещения, вы можете опустить целую подстрочную часть оповещений в вашем запросе. Как:

app.alerts.buttons["Not Now"].tap()

Это потому, что у вас, вероятно, не отображается более одного предупреждения одновременно, поэтому запрашиваете все alerts должен дать тот, который вам нужен, так как у вас есть только один, верно:)

Другие вопросы по тегам