избегать восстановления состояния приложения в XCTest UI Testing - PullRequest
0 голосов
/ 03 февраля 2020

Я пишу тесты пользовательского интерфейса для основанного на документе приложения macOS.

Тест открывает шаблон документа, нажимая кнопку в окне spla sh (очень похоже на «Welcome to Xcode»). " окно). Это работает при первом пробном запуске. Но последующие запуски мешают восстановлению состояния, поскольку ранее открытый документ покрывает окно spla sh.

Как отключить восстановление состояния при выполнении тестов пользовательского интерфейса Xcode?

Я отключил восстановление состояния в моей цели приложения («Запустить приложение без восстановления состояния»), что работает нормально. Но это не переносится на цель теста, даже если установлен флажок «Использовать аргументы и переменные среды выполнения действия».

Я также пытался закрыть ранее открытый документ в конце теста , но «Запись теста пользовательского интерфейса» ничего не записывает, когда я нажимаю «Удалить копию» в диалоговом окне сохранения.

1 Ответ

2 голосов
/ 03 февраля 2020

Это помогло выполнить функцию setUp теста:

let app = XCUIApplication()
app.launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
app.launch()

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

/Applications/Example.app/Contents/MacOS/example -ApplePersistenceIgnoreState YES
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...