Мы с моей командой настраивали сервер Jenkins для автоматизации запуска модульных тестов и тестов пользовательского интерфейса на Mac Mini, который мы используем в качестве сервера сборки. К этому Mac Mini не подключены периферийные устройства, и единственный способ получить к нему доступ — удаленный вход в систему.
Когда я вхожу в систему удаленно, используя встроенное в Mac приложение для совместного использования экрана, тесты проходят нормально с использованием симулятора iOS. Однако, если я закрою удаленное соединение во время выполнения тестов, тесты пользовательского интерфейса, которые включают ввод текста, завершатся ошибкой со следующей ошибкой при попытке ввода (все другие тесты / тесты пользовательского интерфейса проходят с честью):
Ошибка утверждения: истекло время ожидания завершения ключевого события
Это, очевидно, вызывает некоторые проблемы, когда Jenkins автоматически запускает тесты для нас, поскольку мы не всегда хотим удаленно входить в систему.
Я чувствую, что это как-то связано с программной клавиатурой симулятора, но я не понимаю, почему это может быть проблемой. Должен ли Mac иметь какой-то выход на дисплей, чтобы существовала программная клавиатура или что-то в этом роде? Будет ли подключение монитора к машине (даже если он на самом деле не используется) привести к прохождению тестов? Почему это так?