0

每当我的测试用例失败时,我都会尝试添加屏幕截图。但是我已经在 Windows 环境中成功地做到了这一点,但我无法在 docker/linux 环境中实现它。

截图代码:

public void testFailure(Failure failure) throws java.lang.Exception 
 {
    Random rand = new Random();
    //Scenario scenario;
     System.out.println("Execution Failure : ");

      try {
            //String screenshotName = failure.getTestHeader().toString();
            int num = rand.nextInt(10000000);
            String screenshotName = "Screenshot"+num;

            /*File sourcePath = ((TakesScreenshot)Homepage.driver).getScreenshotAs(OutputType.FILE);
            File destinationPath = new File(System.getProperty("user.dir") + "/target/CucumberExtentReport/Screenshots/" + screenshotName +".jpeg");
            Files.copy(sourcePath, destinationPath);
            Reporter.addScreenCaptureFromPath(destinationPath.toString());
            */
            final byte[] screenshot = ((TakesScreenshot)Homepage.driver).getScreenshotAs(OutputType.BYTES); 
            File destinationPath = new File(System.getProperty("user.dir") + "/target/CucumberExtentReport/Screenshots/" + screenshotName +".jpeg");
            FileUtils.writeByteArrayToFile(destinationPath, screenshot);
            //Files.copy(sourcePath, destinationPath);
            Reporter.addScreenCaptureFromPath(destinationPath.toString());

        } 
        catch (Exception e) 
        {
            System.out.println(e.toString());
        }
 }

注意:我使用范围报告在失败的测试用例上添加屏幕截图......

4

0 回答 0