t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f74878aaab8>

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

  • есть 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);
    }

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

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

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