什么比Sikuli更好的工具用于Windows 7(或最好是多平台)的屏幕自动化

时间:2012-07-16 02:55:00

标签: windows-7 screen ui-automation sikuli

我正在使用Sikuli进行屏幕自动化。即根据屏幕上的外观点击GUI元素。这可行,但Sikuli对我来说有一个主要的缺点:

  • 每个脚本启动缓慢(因为每次都加载整个JVM)。

关于Sikuli的更多信息自去年以来没有太多发展,所以我正在寻找替代自动化工具。我需要的大票是 creen awareness :该工具必须“查看”屏幕上的某些UI元素,而不是将鼠标移到那里并发出点击。

是否建议使用比Sikuli更快,更好维护的工具?

2 个答案:

答案 0 :(得分:7)

如果您想在Windows下自动执行任何操作,我建议您Automa - 新的轻量级GUI自动化工具。它只是“找到”UI元素 - 您需要做的就是提供人类用户看到的名称。它实际上比Sikuli更容易使用 - 你没有截取任何截图。例如,如果要自动登录Windows Live Messenger,可以运行以下脚本:

start("messenger")
write("my.email@domain.com", into="Email address")
write("secret", into="Password")
click("Sign in")

或类似地,为了输入凭据并自动登录到Facebook,您只需执行以下命令:

start("firefox")
write("facebook.com", into="Location")
press(ENTER)
write("my.email@domain.com", into="Email or Phone")
write("secret", into="Password")
click("Log in")

该工具适用于大多数Windows应用程序(包括Web浏览器),无论它们是用什么技术编写的。它都是用Python编写的,可以通过可导入的api库在任何Python应用程序中使用。

关于Automa vs Sikuli:Automa与Sikuli一样高,但不需要截图。这有几个好处:

  • Automa脚本更易于存储在版本控制系统中。
  • 纯粹基于文本的Automa脚本使其更易于维护:想象一下标签在某处发生变化。此标签可能出现在几个Sikuli屏幕截图中,然后您必须重新拍摄。使用Automa,您所要做的就是对文件进行简单的搜索和替换。
  • 相对于用户界面的变化更稳定 - 想象一下换色或按钮只移动几个像素。
  • 其他不错的功能,例如能够在应用程序存在之前编写脚本/测试 - 您可以随时编写一个脚本,单击“此处”,输入,点击“那里”,已经从功能/程序的规范。使用不可能的屏幕截图。

披露:我处理Automa

答案 1 :(得分:2)

您是否希望自动化WinForms应用程序或WPF应用程序?如果您正在查看WPF,我可以推荐Telerik's free Testing Framework。 (披露:我是Telerik的测试工作室传播者。)

测试框架(或完整的Test Studio产品)与WPF非常兼容,因为脚本/测试是基于元素的,而不是位置的。