java - 在多台计算机上运行 Sikuli 脚本

标签 java automation sikuli

我有一个用java编写的Sikuli脚本,用于单击Windows开始按钮,然后单击出现的“所有程序”。该脚本在我的计算机上运行得非常好,但是当我将相同的脚本传输到另一台计算机时,它就不起作用了。

代码:

Screen screen = new Screen();
screen.type(Key.WIN); 
screen.click(IMAGE_DIR + "program.PNG");

我使用了诸如 WaitPattern 等概念,但无法解决这个问题。不确定这是否是 sikuli 的限制。

最佳答案

就像评论中已经提到的那样,屏幕分辨率的差异肯定会毁掉您现有的脚本,因为 Sikuli 对它们非常敏感。在这种情况下,唯一的解决方案是重新捕获模式并在每台机器上使用不同的一组模式。

但是,如果您遇到此类问题,但屏幕分辨率似乎相同,则还需要检查一些内容。

Clear Type,这是 Microsoft 的子像素渲染实现,旨在改善字体的视觉外观。如果您在一台计算机上打开此功能并在另一台计算机上关闭此功能,则可能会出现问题。

屏幕字体的平滑边缘设置可以在“性能选项”的“视觉效果”设置窗口中找到。它的作用正如其所言,平滑 Windows 字体以改善外观。与 ClearType 的情况一样,应在运行脚本的两台计算机上关闭或打开此功能。一般建议始终关闭以避免此类问题。

关于java - 在多台计算机上运行 Sikuli 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36422606/

相关文章:

python - 如何在视频结束后自动点击网页上的 "next"或 "previous"按钮?

jython - 在 Jython 中将 int 变量类型转换为字符串,以便在 Sikuli 中使用

java - 等待一定时间后打印不同的文本(JavaFX)

jenkins - 在 Jenkins 中为所有构建的单个测试用例执行时间绘制图形

java - 如何在接口(interface)方法中使用泛型类型参数

javascript - 导入的函数在 puppeteer 中不起作用

java - 不满意链接错误: Java jar_Sikuli

java - Sikuli 日志记录设置

java - 最大 as3 adobe JSON 字符串长度

java - 为什么总是发现它们都是真的?