我们如何测试Java用户界面?

5

我们正在寻找记录和播放型的测试工具,以自动化一些UI功能测试。

我们已经看过了从Silke到QTP的大部分常见选择,但它们都无法胜任。当需要右键单击来选择弹出菜单中的某些内容或在网格中选择下拉列表中的值时,它们都失败了。

是否有人知道哪些工具可以处理这种类型的UI?


Selenium是我们的“常规嫌疑犯”。不确定它是否符合您的要求。 - Wivani
我删除了这个回答,因为我不确定windowlicker中的录制/回放功能。我不知道你的需求,但是当涉及到 swing 时,我听说过 windowlicker 的好东西。在测试驱动开发的书籍《Growing Object-Oriented Software, Guided by Tests》中,作者 Steve Freeman 和 Nat Pryce 使用它作为其中一种工具。 - Peter
3个回答

2

我们在使用Squish时获得了良好的体验。您可以通过ID识别UI元素或记录鼠标操作。


2
你是在谈论一个独立的Java应用程序,还是基于Web的,具有Java服务器,但向客户端提供HTML?
假设这是一个独立的Java应用程序,SilkTest和QTP应该可以与Java良好地配合使用。(您是否使用适当的Java插件以支持Java?QTP有一个单独的插件来支持Java。)另一个要考虑的工具是IBM Rational Functional Tester。它建立在Java上,并且与Java应用程序很好地配合使用。我使用过所有三个工具,尽管从未在Java应用程序上使用过SilkTest。根据我的经验,QTP和RFT都可以很好地处理Java应用程序。
话虽如此,在每个测试自动化项目中,都会有一些UI控件不能很好地与所选的自动化工具协同工作。(第三方控件通常是罪魁祸首)。在这些情况下,您将需要手动编写解决方法。例如,在右键单击无法按预期工作的示例中,我经常需要放弃单击以从右键菜单中选择项目,而改为使用按键来选择所需项目。这实际上表明,您必须放弃记录/回放作为有效的自动化手段的观念。
此外,您可能需要发布实际记录的代码以及在哪一行失败选择所需项目。实际脚本代码可以给我一些线索,以了解实际情况。

1

Sahi是一个很好的选择,用于录制和回放测试的东西。
这里有一个样例教程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接