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

Java 在多台计算机上运行Sikuli脚本,java,automation,sikuli,Java,Automation,Sikuli,我有一个用java编写的Sikuli脚本,单击windows开始按钮,然后单击显示的“所有程序”。该脚本在我的计算机上运行完全正常,但当我将同一脚本传输到另一台计算机时,它就不工作了 代码: 我使用了等待、模式等概念,但无法解决这个问题。不确定这是否是sikuli的限制。正如评论中已经提到的,屏幕分辨率的差异肯定会破坏您现有的脚本,因为sikuli对它们非常敏感。在这种情况下,唯一的解决方案是重新捕获模式,并在每台机器上使用一组不同的模式 然而,如果您有这样的问题,但屏幕分辨率似乎是相同的,那么

我有一个用java编写的Sikuli脚本,单击windows开始按钮,然后单击显示的“所有程序”。该脚本在我的计算机上运行完全正常,但当我将同一脚本传输到另一台计算机时,它就不工作了

代码:


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

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

然而,如果您有这样的问题,但屏幕分辨率似乎是相同的,那么应该检查的事情就很少了

清除类型,这是Microsoft的亚像素渲染实现,旨在改善字体的视觉外观。如果在一台机器上打开此功能,在另一台机器上关闭此功能,则可能会出现问题


平滑屏幕字体边缘可在“性能选项”的“视觉效果”设置窗口中找到的设置。它完全按照它所说的做,平滑windows字体以改善外观。与ClearType一样,在运行脚本的两台机器上都应该关闭或打开此功能。一般建议关闭“始终关闭”以避免此类问题。

对于仍在使用Sikuli并且在不同机器上运行时遇到不一致的用户,在显示问题的框中进行调试是有帮助的


一些问题,如各种AppData临时文件未得到正确管理的问题,可能会在某些PC中出现,但在其他PC中不会出现。将IDE安装到不同的位置是一件痛苦的事情,但有时这是真正了解问题所在并能够解决问题的唯一方法。

如何运行脚本?这两种情况都一样吗?你有错误吗?你的代码到底在哪里失败?根据我的经验,除非两台计算机的显示器设置(大小、分辨率等)完全相同,否则Sikuli在第二台计算机上查找图像时可能会失败。如果同样的事情可以通过击键或键盘快捷键来完成,我想你会有更好的运气。@Eugene:正如autoKarma提到的,它无法在第二台计算机中找到图像,但显示分辨率等是相同的,只是第二台机器是笔记本电脑,这正是我问所有这些问题的原因。能够理解你的问题所在。@EugeneS:如果你有同样的解决方案,请你帮助我。谢谢@Eugene的回复。
Screen screen = new Screen();
screen.type(Key.WIN); 
screen.click(IMAGE_DIR + "program.PNG");