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 测试 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

web ui自动化测试框架都有哪些

Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例

selenium自动化测试的介绍

Web UI自动化测试之Selenium3

20K 用户的 Web UI 负载测试

自动化测试之Python + selenium = Web UI自动化测试