范围报告:无法在其他计算机上看到屏幕截图

时间:2017-03-28 06:23:10

标签: java selenium webdriver extent

我可以在本地计算机上生成包含屏幕截图的范围报告。 但是当我将报告邮寄给其他人,或者在不同的机器上打开html时,屏幕截图是不可见的。它说路径无效。

在附上截图时,我正在给出本地机器的路径。它也在其他机器上搜索相同的路径。 我也尝试在一个文件夹中压缩html和pics。

请帮助我如何将屏幕截图附加到没有本地机器依赖的html文件中。

2 个答案:

答案 0 :(得分:1)

您可以使用获取的屏幕截图的base64转换来完成此操作。 在框架中使用以下代码并尝试。

public static String addScreenshot() {
    File scrFile = ((TakesScreenshot) BasePage.driver).getScreenshotAs(OutputType.FILE);
    String encodedBase64 = null;
    FileInputStream fileInputStreamReader = null;
    try {
        fileInputStreamReader = new FileInputStream(scrFile);
        byte[] bytes = new byte[(int)scrFile.length()];
        fileInputStreamReader.read(bytes);
        encodedBase64 = new String(Base64.encodeBase64(bytes));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return "data:image/png;base64,"+encodedBase64;
}

答案 1 :(得分:1)

我遇到了同样的问题。

与所有人共享用于存储屏幕快照的文件夹,并在以下方法中返回相同的路径。

JSON_EXTRACT

希望这会有所帮助!