有什么比Sikuli更好的工具可以在Windows7(或者最好是多平台)上用于屏幕自动化



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

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

关于Sikuli的更多信息自去年以来没有太多的发展,所以我正在寻找一个替代的自动化工具。我需要的大票是屏幕意识:该工具必须"look";对于屏幕上的某些UI元素,请将鼠标移动到那里并单击。

有没有比Sikuli更快、维护更好的工具的建议?

如果您想在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工作。

您想自动化WinForms应用程序还是WPF应用程序?如果你正在看WPF,我可以推荐Telerik的免费测试框架。(披露:我是测试工作室Telerik的传道者。)

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

相关内容

最新更新