【发布时间】:2009-03-18 02:34:01
【问题描述】:
我今天一直在玩 PyWinAuto,并且很享受自动化各种 GUI 测试的乐趣。我想知道它是否仍然是最先进的,或者是否可能有其他东西(也是免费的)可以更好地实现 Windows 富客户端自动化。
【问题讨论】:
-
我想知道关于“WATSUP”的类似事情——tizmoi.net/watsup/intro.html
我今天一直在玩 PyWinAuto,并且很享受自动化各种 GUI 测试的乐趣。我想知道它是否仍然是最先进的,或者是否可能有其他东西(也是免费的)可以更好地实现 Windows 富客户端自动化。
【问题讨论】:
pywinauto 很棒,因为它是 Python。
也许功能更全的是AutoIT,它有一个可以自动化的COM服务器(从Python使用win32com)和一些很酷的工具,比如“Window Info”实用程序,它会给你文本(标题)、类、大小、状态栏文本等,用于当前鼠标光标下的窗口。
在某些情况下,pywinauto 比 AutoIt 更难使用,而且看起来没有那么精致。一个例子是自动化 Inno Setup 程序。 Inno Setup "setup.exe" 程序会启动一个单独的应用程序来实际执行安装,使用 pywinauto 跟踪它很痛苦,但 AutoIt 让它变得简单。
【讨论】:
我曾经使用 AutoIt 对我们的项目进行自动化测试,但在 3 个月前切换到 pywinauto,并且对这个决定非常满意。有一些粗糙的边缘,但我已经能够用我自己的补充测试功能来填充它们。此外,我发现与 AutoIt 相比,Python 中的编码测试和支持代码更加更容易且更易于管理。使用 Python,我有更强大的选项来记录、调试、文档、流程管理和测试配置。对我来说,这绝对是正确的方法。
【讨论】:
我也是这样,一点一点的,不得不说python+pywinauto是好东西!
【讨论】:
新的pywinauto 0.6.0 在后台引入了 MS UI 自动化支持。这样 WinForms、WPF、Qt、Store 应用程序等就可以像旧的原生 Win32 应用程序一样自动化。
此外,可以在窗口/控件上下文之外使用mouse 和keyboard 模块。这些模块也可以在 Linux 上运行!
新模块 win32_hooks 的灵感来自 pyHook 和类似库,但它不需要编译。
是的,这篇文章是一种广告。但我只想说 pywinauto 仍然有用,我相信它在未来会更加有用。开发者社区目前由 2 位成熟的开发者和 3 位才华横溢的学生组成,我们对 Linux 和 Mac OS X 有长期计划。
附:还有一些开源工具:
【讨论】: