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

hal*_*leo 27 screen ui-automation windows-7 sikuli

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

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

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

有什么建议可以比Sikuli更快,更好地维护工具?

Tyt*_*tus 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")
Run Code Online (Sandbox Code Playgroud)

或者,类似地,为了输入凭据并自动登录到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")
Run Code Online (Sandbox Code Playgroud)

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

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

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

披露:我在Automa工作.

  • 与FikI不同的是它的付费和封闭源. (52认同)
  • 我很困惑 - 你的观点似乎不符合我的意思; 功能集似乎与sikuli大致相同(您还可以通过使用名称/键盘快捷键使sikuli脚本无需屏幕截图).你可以版本控制sikuli文件夹(包括截图),版本控制系统几乎不会阻塞几个小图像.我真的不明白为什么有人应该使用除支持之外的sikuli付费副本 (3认同)

Jim*_*mes 2

您是否希望自动化 WinForms 应用程序或 WPF 应用程序?如果您正在查看 WPF,我可以推荐Telerik 的免费测试框架。(披露:我是 Telerik 的 Test Studio 传播者。)

测试框架(或完整的 Test Studio 产品)与 WPF 配合得很好,因为脚本/测试是基于元素的,而不是基于位置的。