Безголовое тестирование пользовательского интерфейса Xcode для приложения macOS

Мы пытаемся запускать наши тесты автоматически на тестовой машине, где все тесты, не связанные с пользовательским интерфейсом, работают отлично. У нас есть скрипты, которые запускают тесты в командной строке и собирают результаты для анализа.

Тестовая машина (Mac mini) работает без головы.

Для тестов пользовательского интерфейса, однако, тест не может запустить приложение с ошибкой такого рода,

t = 83.86s Assertion Failure: <TestCaseName>: Application '<XCUIApplicationImpl: 0x60400026e300 com.<app-identifier> at <app-name>.app>' failed to activate (current state: Running Background)

Похоже, это связано с тем, что нет сеанса с графическим интерфейсом, когда машина работает без головы (macOS называет такой сеанс сеансом Aqua). Мы пытались найти способ обойти это, но не достигли реального прогресса.

Если у кого-то есть идеи, мы будем благодарны.

1 ответ

Я полагаю, что смог обойти это, отключив параметр "Требовать пароль" в "Системных настройках"> "Безопасность и конфиденциальность" и не дав машине спать или запускать заставку. Там нет экрана, подключенного к Mac Mini, так что все в порядке.

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