【问题标题】:How to compare screenshot with saved png image with Sikuli如何将屏幕截图与保存的 png 图像与 Sikuli 进行比较
【发布时间】:2017-08-07 23:00:12
【问题描述】:

我正在使用以下内容尝试将屏幕截图与保存的 .png 图像进行比较,但它不起作用。屏幕截图和 .png 文件相同,但在 eclipse 中出现以下错误:

java.lang.AssertionError: The following asserts failed:
    expected [P(C:/Users/pauljos/tmpDirectory.png) S: 0.7] but found [org.sikuli.script.ScreenImage@58fdd99]

我在 Eclipse 中使用 Sikuli,这是我的脚本:

Screen screen = new Screen(); 
Pattern pattern4 = new Pattern("C:\\Users\\pauljos\\tmpDirectory.png");
screen.click("C:\\Users\\pauljos\\explorerIcon.PNG");
screen.click("C:\\Users\\pauljos\\explorerWhiteSpace.PNG");
screen.type("c:/tmp");
screen.type(Key.ENTER);
ScreenImage img = screen.capture();
sikuli_assert.assertEquals(img, pattern4);

【问题讨论】:

  • 什么是sikuli_assert?那是您创建的辅助类吗?如果是这样,请将其代码包含在您的问题中,否则我们如何知道assertEquals 是如何实现的?

标签: java automation sikuli


【解决方案1】:

实际上,您正在尝试断言不兼容的数据类型 Pattern 和 ScreenImage。你应该像下面这样。

屏幕屏幕 = new Screen(); BufferedImage img1=ImageIO.read(new File("C:\Users\pauljos\tmpDirectory.png"));

BufferedImage img = screen.capture().getImage();

如果(img1.equals(img)){

//两个图像相等 }

【讨论】:

    猜你喜欢
    • 2021-03-03
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 2012-08-22
    • 2023-03-06
    • 2012-12-26
    • 2019-03-01
    相关资源
    最近更新 更多