我目前正在寻找一种工具来测试 aa 网站,Sikuli 似乎很完美。但是,我的公司同时使用 Windows 和 Linux,我希望我们的脚本可以转移。
它会起作用还是适用于 Windows 的 Windows 脚本和适用于 Linux 的 Linux 脚本?似乎 Sikuli 可以从命令行运行,也许我可以在 Linux 和 Windows 计算机上运行相同的脚本?
Sikuli 脚本不能在两个操作系统下运行没有技术原因(jython 在两个平台上具有相同的语法)。面临的最大技术问题是 Windows 和 Linux 之间的屏幕截图可能不匹配。
该线程讨论了如何设置两个图像池,每个操作系统一个。
主要有两点需要关注:
图像:即使应用程序在两个系统中看起来相同,启动它的方式也不同。在最坏的情况下,需要两套完整的图像。
路径:在 Windows 和 Linux 中路径是不同的。不同的斜线,不同长度的整个路径和组件,命名中允许的不同符号集。默认情况下,Windows 路径不区分大小写。
有一些要点仍然可以使用相同的脚本和一组操作系统特定的库。- 应用程序中的通用逻辑越多,可重用的代码就越多。- 政策“两个平台都必须改变一些东西”。很容易理解。
所以你的问题的答案是:特别准备的脚本可以在两个平台上运行
直接在 java 中创建 Sikuli scipts 可能会缓解跨平台问题。但是您仍然会看到图像看起来略有不同的问题。不过,文件目录在 java 中的操作系统上处理得很好。