Невозможно просмотреть скриншоты в отчетах Jenkins - PullRequest
0 голосов
/ 15 января 2019

В моих отчетах jenkins не отображаются скриншоты, снятые во время пробежек (Они запускаются на MAC). Однако, когда я выполняю ту же работу локально (на машине с Windows), в отчетах появляются скриншоты.

Я вижу ошибку, как показано ниже в отчете Дженкинса. Report missing screenshot

Когда я пытаюсь открыть изображение, оно показано ниже. На самом деле невозможно найти путь к изображению.

Error : http://*****-mac:8080/job/***Test/job/******/ws/target/screenshots/2019-01-14/Sign%20In20190114154253.png

Actual: http://*****-mac:8080/job/***Test/job/******/HTML_20Report/target/screenshots/2019-01-14/Sign%20In20190114154253.png

Screenshot URL

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

public void captureScreenshot() throws IOException {

    Date date = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String dateForScreenshots = dateFormat.format(date);
    File localScreenshots = new File(new File("target/screenshots"), dateForScreenshots);
    if (!localScreenshots.exists() || !localScreenshots.isDirectory()) {
        localScreenshots.mkdirs();
    }
    System.setProperty("org.uncommons.reportng.escape-output", "false");// this is to create a link in ReportNG
    File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    String destination = System.getProperty("user.dir") + "/target/screenshots/" + dateForScreenshots + "/" + getDriver().getTitle() + Utils.generateRandomString() + ".png";
    File screenshotName = new File(destination);
    //Now add screenshot to results by copying the file
    FileUtils.copyFile(scrFile, screenshotName);
    Reporter.log("<br>  <img src='" + destination + "' height='90' width='160' /><br>");
    Reporter.log("<a href=" + destination + "></a>");
}

1 Ответ

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

из этой строки

Error : http://*****-mac:8080/job/***Test/job/******/ws/target/screenshots/2019-01-14/Sign%20In20190114154253.png

Я думаю, что Jenkins не может найти целевую ветвь в папке рабочей области (ws). Возможно, вам нужно указать папку рабочего пространства в задании Jenkins (как в этот ответ) или просто изменить переменную destination на что-то вроде (добавлено /HTML_20Report):

    String destination = System.getProperty("user.dir") + "/HTML_20Report/target/screenshots/" + dateForScreenshots + "/" + getDriver().getTitle() + Utils.generateRandomString() + ".png";
...