使用Ashot和Selenium从多个URL截屏

时间:2019-04-11 18:15:26

标签: java selenium ashot

我正在尝试自动化一个测试案例,在该案例中,我必须获取存在于不同网站中的特定屏幕的屏幕截图。具体来说,我正在尝试测试特定的复选框是否对齐。以下是我的脚本,我正在使用Ashot进行截图。脚本登录到三个系统中,然后单击所需的链接单击它,但是最后一个URL仅有一个屏幕截图,而每个URL仅有一个屏幕截图。请帮助我解释如何迭代Ashot,以便它将为每个网站(而不是现在正在执行的操作)截屏。本质上,除了拍摄屏幕截图外,所有步骤都需要迭代,我也希望脚本也可以通过屏幕截图进行迭代。

canvas1.grid(row=2, columnspan=7)

2 个答案:

答案 0 :(得分:1)

您将所有屏幕截图保存在同一文件checkbox.jpg中。这就是为什么以前的屏幕截图被最后一个屏幕截图替换的原因。尝试为每个屏幕截图命名不同的文件。另外,请以扩展名.png保存屏幕截图,因为这是实际的文件类型。

尝试保存图像:

ImageIO.write(fpScreenshot.getImage(),"PNG",new File("C://Users//dir//eclipse-workspace//someDir//screenshots//checkbox-"+driver.getCurrentUrl()+".png"));

答案 1 :(得分:0)

我正在做这样的事情

@Step("Захват страницы для хранилища")
    protected void capturePageToVault(String pageName, String url, int scrollTime) throws IOException {
        open(url);
        expected = capturePage(scrollTime);

        ImageIO.write(expected.getImage(), "png", expectedImg(pageName));

        attach = new FileInputStream(expectedImg(pageName));
        Allure.addAttachment("Exemplar", "image/png", attach, ".png");
        attach.close();
    }