Скриншоты, не прикрепленные к отчету - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь прикрепить скриншоты к генерируемому отчету.

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

Это код, который захватывает снимок экрана и генерирует файл

    private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm");

    public static String captureScreen(WebDriver driver, String screenName) throws IOException {

        TakesScreenshot screen = (TakesScreenshot) driver;
        File src = screen.getScreenshotAs(OutputType.FILE);


        String path = "X:\\ExtentReports";
        String javaPath = path.replace("\\", "/");

        File target = Paths.get(javaPath,
                screenName + ".png").toFile();
        FileUtils.copyFile(src, target);

        return javaPath;
    }

    public static String generateFileName(ITestResult results) {
        Date date = new Date();
        String fileName = results.getName() + "_" + dateFormat.format(date);
        return fileName;
//        return results.getName() + "_" + dateFormat.format(date);
    }
}

Здесь создается отчет, и снимки экрана должны быть добавлены в тест.Используя:

.addScreenCaptureFromPath (screenShot));

    public synchronized void afterMethod(ITestResult result) throws IOException {

        String screenShot = CaptureScreenShot.captureScreen(MetricellTest.driver, CaptureScreenShot.generateFileName(result));

        if (result.getStatus() == ITestResult.FAILURE) {
            test.get().log(Status.FAIL, result.getName());
            test.get().log(Status.FAIL, result.getThrowable());
            test.get().fail("Screen Shot : " + test.get().addScreenCaptureFromPath(screenShot));
        } else if (result.getStatus() == ITestResult.SUCCESS) {
            test.get().log(Status.PASS, result.getName());
            test.get().pass("Screen Shot : " + test.get().addScreenCaptureFromPath(screenShot));
        } else if (result.getStatus() == ITestResult.SKIP) {
            test.get().skip("Test Case : " + result.getName() + " has been skipped");

            extent.flush();
            MetricellTest.driver.close();

        }
    }

    @AfterTest
    public void endTest() {
        extent.flush();

    }

В конце тестов я надеюсь, что смогу открыть отчет и увидеть скриншотывнутри отчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...