Если я правильно угадал, вы запускаете тесты на сервере в автоматическом режиме (возможно, Hudson или CruiseControl), когда приложение не может отображать графический интерфейс.
Есть еще один способ решить вашу проблему (предположим, ваша цель - запустить тесты).
Я использую Xvfb - виртуальный кадровый буфер X X System System (вид виртуального экрана).
Может быть проще дать экран приложению, если оно ему нужно, вместо того, чтобы учиться заставлять его работать в режиме без головы. (Особенно в моем случае управления около 100 проектов Maven)
Что вы можете сделать:
Убедитесь, что на вашем ПК / сервере, где вы запускаете тесты, установлена система X Window. Просто нажмите «Google x», если вам нужен совет, как это сделать для установки Linux.
УСТАНОВИТЬ Xvfb
sudo apt-get install Xvfb
(для Ubuntu Linux) или
yum search Xvfb
(для CentOS, чтобы получить точное имя пакета, затем yum install ...) или любой другой, подходящий для вашего дистрибутива lunux
Создайте файл xvfb.hosts с двумя строками, содержащими «localhost» и «servername.yourcompany.com». Храните это где-нибудь.
nohup Xvfb :99 -auth xvfb.hosts > xvfb.log &
(или установите эту команду для запуска при запуске сервера)
Не забудьте указать переменную среды для сеанса, в котором выполняются ваши тесты:
export DISPLAY=:99
Я не могу сказать, как именно это сделать, потому что я не знаю вашу вычислительную конфигурацию. Я установил DISPLAY в сценарии запуска CruiseControl и для установки Hudson.
Это прекрасно работает для меня, и мне не нужно заботиться о каких-либо автоматических тестах GUI для всех проектов в моей компании. Надеюсь, это поможет вам.