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 - нет, если вы удалите приложение во время автоматизации. Итак, ребята представили, что вам нужно использовать трамплин для обработки предупреждений, которые не являются частью приложения, и вывод:
- Обработка addUIInterruptionMonitor
- Обработка app.alerts
- оповещения о трамплине
Поскольку вы хотите запросить кнопку, которая находится внутри оповещения, вы можете опустить целую подстрочную часть оповещений в вашем запросе. Как:
app.alerts.buttons["Not Now"].tap()
Это потому, что у вас, вероятно, не отображается более одного предупреждения одновременно, поэтому запрашиваете все alerts
должен дать тот, который вам нужен, так как у вас есть только один, верно:)