Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Черные квадраты вместо скриншотов. Тесты запускаются от имени “Windows Service”

screenshot
Теги: #<Tag:0x00007f7b622c1a98>

(Funker) #1

Как все построено:

  • есть CI (TeamCity) запущен под Win 7
  • сам CI и BuildAgent запускаются как servise
  • тесты написаны на JAVA + TestsNG + Webdriver

Тесты запускаются, бегут, все ок, но когда смотрю потом скриншоты упавших тестов то получаю черные квадраты.
Проблема ясна и описана здесь http://stackoverflow.com/questions/21811699/net-windows-7-take-screenshot-not-working-when-running-under-windows-service

такой проблемы не было когда CI работал под управлением WinXP

Вопрос стоит в том какие варианты решения и обхода данной проблемы. Может кто сталкивался с таким.

Для примера покажу как делаю скриншот на java

private static void captureScreenshot(File outFile) throws Exception {
        BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
        ImageIO.write(image, "png", outFile);
    }

(vmaximv) #2

(Dmitry Cheremushkin) #3

Одно из решений:

Ещё рекомендую на тему почитать:


(Sergey Korol) #4
  1. Использовать Selenium Grid и встроенные средства снятия скриншотов. Сам использую грид + Jenkins as Win Service. Никаких проблем со скринами не было и нет.
  2. Писать свой вэб-сервис, дергающий доп. тул снятия скринов. Вот тут на примере одноклассников рассказывают о гриде и почему пришли к использованию доп. сервисов.