【问题标题】:Can't get Sikuli to recognize images无法让 Sikuli 识别图像
【发布时间】:2017-06-10 02:14:12
【问题描述】:

首先我会说我使用的是 Netbeans 和 Java (JDK 8 x64)。我已经安装了 Sikuli,选择了安装 Sikuli IDE 的选项以及它与其他 IDE 一起使用的选项。

使用 Sikuli IDE 时,它发现图像正常,没有任何问题。当我将该图像复制到我的项目资源文件夹并尝试通过我在 Netbeans 中的项目找到它时,它不会找到它。

我相信我使用的版本是 Sikuli 的 1.0.1。

这是我正在尝试的测试代码:

public class TestSikuli {

    public static void main(String[] args) {
        Screen s = new Screen();
        try{
            s.click("resources/startBtn.png");
        } catch(FindFailed e){
            e.printStackTrace();
        }
    }

}

我假设它不知道 resources/startBtn.png 在哪里。所以我尝试使用

ImageLocator.addImagePath(System.getProperty("user.dir" + File.separator + "resources")

但是,当打印出 ImageLocator.getImagePath() 的内容时,它似乎并没有添加图像路径。

我的问题似乎是,让 Sikuli 在 Netbeans for Java 中工作的必要步骤是什么。我偶然发现了 Jython 的一些设置步骤,但我不确定这些对于 Java 是否必要,因为它看起来有点复杂。

我需要在我的 PATH 中添加一些东西吗?我需要添加另一个环境变量吗?到目前为止,我所做的只是使用安装程序,然后将 jar 添加到我的 Netbeans 项目中。

我们将不胜感激任何和所有建议。几天来,我一直在寻找正确的答案,并认为我会求助于 StackOverflow。

编辑:由于假设每个IDE集成Sikuli的过程应该相对相似,所以在标签中添加了Eclipse。

【问题讨论】:

    标签: java eclipse netbeans sikuli


    【解决方案1】:

    如果 addImagePath() 函数似乎不起作用,您可以随时尝试自己修改图像路径。来自 1.0.1 文档:

    注意:在幕后,此列表使用键 SIKULI_IMAGE_PATH 保存在 java 属性存储中。这可以在使用环境变量 SIKULI_IMAGE_PATH 启动 JVM 时进行预设,并且可以在运行时使用访问设置 - Java 级别中提到的方法进行访问。请注意,这是一个字符串,其中不同的条目用冒号 ​​(:) 分隔。 [source]

    尝试类似:

    java.lang.System.getProperty("SIKULI_IMAGE_PATH", "user.dir" + File.separator + "resources");
    

    或者,您可以将图像存储在 jar 之外,然后尝试使用 setBundlePath()

    注意:我使用的是 Jython 和 Sikuli 1.1.0,所以我没有测试提供的代码。

    【讨论】:

      【解决方案2】:

      这有点不合时宜,因为我的 Sikuli 并没有真正使用 Java。但是,由于我构建了一个批处理文件来运行我的 Sikuli 程序,因此您的路径可能确实有误。

      当您启动 Sikuli IDE 并制作 Hello World 程序时。然后它用 .sikuli 制作地图。在那些是它需要的所有文件。我认为如果你用另一个 IDE 打开它,你需要在那个地方的所有这些文档,因为 Hello World 程序已经做到了。

      另一件事是,在安装 Sikuli 时,它会在您安装它的位置创建目录/文件。我了解到它对从哪里执行它非常挑剔。也许这里也可能是这种情况?

      也许你应该看看click()是否被识别为一个命令。

      【讨论】:

        猜你喜欢
        • 2020-05-12
        • 2021-12-23
        • 1970-01-01
        • 1970-01-01
        • 2014-02-24
        • 1970-01-01
        • 2021-03-30
        • 2015-06-14
        • 1970-01-01
        相关资源
        最近更新 更多