Selenium 对于 Web UI 测试就像 ________ 对于 Windows 应用程序 UI 测试 [关闭]
Posted
技术标签:
【中文标题】Selenium 对于 Web UI 测试就像 ________ 对于 Windows 应用程序 UI 测试 [关闭]【英文标题】:Selenium is to Web UI testing as ________ is to Windows application UI testing [closed] 【发布时间】:2010-11-11 08:49:53 【问题描述】:我对测试仅客户端 Java 应用程序的 UI 感兴趣。最流行的框架是什么?你推荐的框架是什么?另外,为什么 Selenium 不这样做(或这样做)?在我看来,任何可以测试 Web 应用程序的东西都应该能够测试 Windows 应用程序。
【问题讨论】:
【参考方案1】:试试FEST framework。 如果我没记错的话,这就是以前所说的 Abbot。我将它用于自动化测试,它似乎非常简单方便。简单的事情变得容易,复杂的事情不是火箭科学。我考虑过 UISpecj4j,但它不适合我,因为在必须测试 Drag'n'Drop 时没有技术上的可能性。此外,当您实际上看不到发生了什么时,开发测试非常困难(UISpec4J 使用假的、不可见的外观)
唯一的问题是在 FEST 中制造麻烦(也是设计使然) - 它会抓住鼠标,并且在运行测试时不允许您做任何事情。
【讨论】:
@Noz 已修复,感谢您的通知。【参考方案2】:我们使用TestComplete。
【讨论】:
【参考方案3】:试试Abbot Java GUI Test Framework。
【讨论】:
【参考方案4】:Selenium 无法做到这一点的原因是它使用在 Web 浏览器中运行的 javascript 来进行测试。它通过 Javascript 模拟单击按钮、输入数据等。如果 Javascript 被禁用,它将无法工作。由于 Swing/AWT 应用程序没有 Javascript,因此 Selenium 也无法在它们上运行。
【讨论】:
【参考方案5】:如果您有 Visual Studio 2010,您还可以使用新引入的Visual Studio UI Automation Testing(也称为编码 UI)。这有点像将 Selenium 与 ui-map 一起使用。
【讨论】:
您需要 VS2010 Premium 或 Ultimate 才能使用此功能。 VS2010 Professional 不包含这个包【参考方案6】:答案是:“Mercury winrunner”,它在 90 年代后期非常流行,并且可能仍然广泛用于 win 应用程序。
不再按原样出售,但如果我没记错的话,现在可以作为 HP QuickTest Professional 购买。请参阅wikipedia page on HPQTP。
现在更名为 HP 统一功能测试 (UFT)2
【讨论】:
【参考方案7】:uispec4j 是一种开源替代方案。不过,我还没有尝试过。 (我目前也在收集要尝试的事情清单,所以感谢您提出这个问题!)
【讨论】:
【参考方案8】:Selenium 是基于 JavaScript 的框架,因此只能在可以执行 JavaScript 的东西上运行。浏览器本身就是这样做的。
就我而言,没有真正的测试框架可以与桌面上的 Selenium 相媲美,因为很难编写一个像 Selenium Hooks 到浏览器一样原生地挂接到操作系统的框架。流行的,不是最好的,是QTP,SilkTest,TestComplete
【讨论】:
TestComplete 的链接已损坏。这是一个有效的方法:automatedqa.com/products/testcomplete 修复了我的链接。我从谷歌搜索中拿了一个【参考方案9】:QTP、Silktest 是测试 Windows 应用程序 UI 的最佳工具。
【讨论】:
【参考方案10】:如果您正在寻找开源工具,请查看Marathon。它允许您记录和回放测试、生成报告并集成您自己的代码以测试自定义组件。我已经使用它好几年了,并进行了数百次测试。
还有更多功能的商业版,但我没有尝试过。开源版本非常适合我。
【讨论】:
【参考方案11】:试试Sikuli
Sikuli 是一项诞生于麻省理工学院 UI 设计小组的技术,它允许使用计算机视觉自动执行计算机操作。计算机视觉从图形用户界面 (GUI) 的屏幕截图中识别模式,并使用 Jython 脚本语言对它们采取行动。语言包括图形元素,最好使用软件随附的 IDE 进行编辑。 Sikuli 可用于自动化软件测试,就像 Selenium 用于控制网页一样,它可以控制几乎任何它可以识别和单击或输入文本的界面——PC(Windows、Mac OS X 和 Linux)应用程序,甚至在模拟器中或通过 VNC 运行的 iPhone 或 android 应用程序。
您也可以使用Sikuli Java API
Sikuli API for Java 为 Java 程序员提供基于图像的 GUI 自动化功能。它由 Sikuli Lab 创建并将积极维护。这个新的 Java 库有一个重新设计的 API,并包含一些原始 Sikuli 脚本中没有的新功能,例如匹配颜色、处理事件和查找几何图案(如矩形按钮)的能力。此外,它还大大简化了基于 Maven 的构建过程。
【讨论】:
以上是关于Selenium 对于 Web UI 测试就像 ________ 对于 Windows 应用程序 UI 测试 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章