文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

你是否在你的自动化测试中加入或多或少的图片对比吗,那么这边文章应该能帮你接近你的想法。

怎么实现呢?额...这不是一个商业工具,这是一个开源的产品,而且是在前期阶段。

那这个工具能做什么?他就是一个在你做图片对比的时候提供一个能存储图片并提供反馈的REST-API 客户端。

第 1 段(可获 0.98 积分)

是不是相当的简单,给予一些参数后就能标示你之前的屏幕截图。这么做了之后呢,你也许会想要看看这个参数历史上曾经有什么图片,所以你就能知道你是不是有可以比较的图片了。

我们来看一段开箱即用的样例:

public class ScreenTest {

    @Test
    public void blinkTest() {
        // Provide the URL where the tool runs
        // In this example you could rely on the heroku instance
        String baseURL = "https://selenium-screenshot-watcher.herokuapp.com/";
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.get("http://the-internet.herokuapp.com/drag_and_drop");

        String testName = "heroku sample test - 1";
        String testBrowser = "firefox";
        String description = "running screenshot-watcher-sample on travis";

        // Initialize the tool
        ScreenshotWatcher watcher = new ScreenshotWatcher(driver, baseURL);

        // Takes a screenshot
        BaseScreenshotModel scrTaken = watcher.blink(testName, testBrowser, description);

        // Compares the screenshot
        CompareScreenshotsResponse compareResponse = watcher.compare(scrTaken);

        // assert if the images are the same, if not, they visit the review link
        assertTrue(compareResponse.getReviewLink(), compareResponse.isSameImage());
    }
}

 

第 2 段(可获 0.96 积分)

如果你想用你自己的网站尝试一下,看看他到底如何工作,我已经把这个样例工程放在了:https://github.com/web-innovate/selenium-screenshot-watcher-sample.这个只是用selenium-screenshot-watch API工具的框架,你能在这里找到:https://github.com/web-innovate/selenium-screenshot-watcher.

我用这个工具尝试解决的问题是当UI发生改变的时候能够从高保真的点中找出来。

如果你打算把这个整合到你现有的测试中,实现也是非常容易,只是这个工具的支持并不能告诉你如果写你的用例。他只取决于你想在哪个过程,哪个时间点整合。

第 3 段(可获 1.8 积分)

我不得不说这个工具真的还处在初级阶段。现在仅仅是支持“告诉你“两个截图是不是同一个,查看到底哪里不同,所以你要看看是不是能达到你的心理预期。

这个工具下一步的支持是允许显式的指定哪个区域可以忽略,不进行匹配,这样就对包含有动图顶端,边栏广告的网页很有帮助,这样就能集中精力在更加重要的区域。不过这个功能还在开发中。

第 4 段(可获 1.41 积分)

文章评论