Как сделать снимок экрана, когда пользователь не вошел в систему во время выполнения тестов Selenium с Jenkins в Windows? - PullRequest
4 голосов
/ 26 июля 2011

У нас есть среда CI, в которой Jenkins выполняет набор тестов Selenium Tests на виртуальной машине Windows (XP и / или Windows 7).Если я физически не вошел в виртуальную машину, выполняющую эти тесты через RDP, я вижу только черные (пустые) PNG.Я перепробовал все доступные методы «захвата» (как в кодировке Base 64, так и на основе файлов) для нескольких выпусков Selenium RC 2ish (например, 2.0b2, 2.0rc3, 2.0.0, 2.1.0) и получаю одинаковые результаты длявсе что я пробовалКто-нибудь еще использует Selenium в развертывании Windows CI и может снимать экраны?Или, лучше сказать, кто-нибудь может пролить свет на то, как я могу снимать экраны в Windows, используя Selenium API без необходимости физического присутствия на коробке "?

Ответы [ 3 ]

3 голосов
/ 27 июля 2011

Если вы не вошли в систему, либо закрыли или свернули соединение RDP, рабочий стол отсутствует, и снимки экрана будут пустыми.

Вам нужно использовать VNC-сервер / средство просмотра, чтобы у рассматриваемого компьютера / виртуального компьютера был видимый сеанс рабочего стола.

2 голосов
/ 28 июля 2011

Мы также делаем нечто очень похожее.У нас есть установка Windows VM, на которой запущены Hudson и Selenium Grid.Когда наши тестовые примеры терпят неудачу, мы делаем снимок экрана браузера, чтобы получить более подробную информацию о том, почему тестовый пример не прошел.Мы используем метод #captureEntirePageScreenshotToString

0 голосов
/ 28 июля 2011

Мы делаем это, и это работает для нас.Мы используем TeamBity JetBrains вместо Jenkins, работающие на Windows Server 2003. Мы запускаем сервер Selenium RC как службу Windows, используя Java Service Launcher .

...