Скриншоты, не найденные в отчете HTML Publisher после сборки Jenkins - PullRequest
0 голосов
/ 23 января 2019

В моем файле index.html встроенные снимки экрана не отображаются при использовании плагина Jenkins с HTML Publisher. Снимки экрана отображаются только при локальном запуске моих тестов.

В файле index.html, показанном в плагине HTML Publisher, когда я нажимаю на один из встроенных пустых скриншотов, я получаю:

HTTP ОШИБКА 404 Проблема с доступом к /var/lib/jenkins/workspace/my_test/target/surefire-reports/Wed_Jan_23_14_33_19_UTC_2019.png. Причина:

Не найдено

Я проверял, что скриншоты генерируются каждый раз по этому точному пути. Это мой код для установки местоположения скриншота:

public void takeScreenshotMyOwn() {
    File scrFile = ((TakesScreenshot)getDriver()).getScreenshotAs(OutputType.FILE);
    try {
        String reportDirectory = new File(System.getProperty("user.dir")).getAbsolutePath() + "/target/surefire-reports/";
        File destFile = new File( reportDirectory + screenshotFileName());
        FileUtils.copyFile(scrFile, destFile);
        Reporter.log( htmlNewLine + htmlNewLine + "<a href='" + reportDirectory + destFile.getName() + "'> <img src='" + reportDirectory + destFile.getName() + "' height='200' width='340'/> </a>"+htmlNewLine);
    } catch (IOException e) {
        e.printStackTrace();
        Reporter.log("Failed to create screenshot");
        Reporter.log(e.getMessage());
    }
}

Что я делаю не так? Я искал все и не нашел решение, которое работает.

1 Ответ

0 голосов
/ 23 января 2019

Я все еще ищу более элегантный ответ, но с помощью разработчика мне удалось создать внешнюю папку на нашем сервере Apache для хранения изображений и ссылки на них.Затем я добавил параметры на наш сервер Jenkins для изменения политики безопасности и перезапустил.Скриншоты теперь отображаются.

...