Запуск Selenium тестов с помощью Hudson на Headless Linux Server, Часть 2 --xwd and xwud

В Части 1, я объяснял как запустить Xvfb для того чтобы получить виртуальный дисплей на котором работали бы графические приложения. В этом посте я проверю его работу с помощью запуска xclock и сделав его скриншот. Возможность сделать скриншот виртуального дисплея сама по себе довольно важна. Для того, чтобы сделать и просмотреть скриншот вы используете две разные программы: xwd и xwud. Первая сделает скриншот, а вторая покажет его. Они должны быть установлены на вашем X сервере (я так думаю).

Сначала, запустите xclock на системе, где работает Xvfb с xclock -display :5.0 так, что он будет работать на виртуальном дисплее. Далее, также на системе с Xfvb, сделайте скриншот с

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }xwd -root -display :5.0 -out xwdout{/syntaxhighlighter}

Последовательность:

  • -root
    Указывает xwd фиксировать "root" окно. Это означает, что он фиксирует весь экран полностью. Если вы хотите, вы можете дать команду фиксировать только определенное окно. Смотрите параметры -id и –name на странице справочника man, если хотите попробовать эту операцию.

  • -display :5.0
    Указывает xwd смотреть на экран 0 дисплея 5. Именно поэтому вам необходимо знать эту информацию при запуске Xvfb!

  • -out xwdout
    Дает название файла вывода для записи скриншота. Xwd использует обычный бинарный формат для своих файлов. Прочитать их можно с помощью xwud (следующий), и я так понимаю, что их можно конвертировать в другие форматы с помощью ImageMagick (бесплатно!), хотя сам еще не пробовал.

После того как вы сделали скриншот, вам нужно открыть файл вывода на системе где работает реальный X сервер, так чтобы вы могли увидеть изображение. Для этого подойдут ftp или sftp, scp, или старый добрый Sneakernet. В конце-концов, посмотреть скриншот, который вы сделали: xwud -in xwdout. Таким образом, показывается изображение, сохраненное в файле под названием xwdout. Оно должно открыться в окне, где вы увидите маленький xclock, показывающий время, когда был сделан скриншот. Кликните на любое место в окне, чтобы закрыть его.

На этом этот пост завершен. В Части 3: как заставить HudsonSelenium, и ваши надстройки работать со всем чему вы научились.