什么是一个好的GUI测试工具?

5
我们需要一个测试工具来测试一组相当复杂的Java应用程序。这些应用程序大多是独立的客户端程序或小程序,与远程站点上的servlet或apache服务器进行通信。规格要求如下:
  1. 可运行在Windows XP、Vista和7上
  2. 可参数化(可以在脚本中指定要点击的按钮顺序、在JTextFields中输入的文本以及浏览器地址栏等)
  3. 如果预期的窗口或对话框未出现,则可以退出、退出或显示不好的消息
  4. 当应用程序打开浏览器窗口时,在浏览器的Java控制台上记录输出到.txt文件中(现在只需使用IE即可)。
  5. 在运行时,我应该能够看到它运行了几分钟,而我则能交叉手放松
我们想写一个基于AWTRobot的工具来读取命令文件并执行此操作 - (还不知道如何完成3或4 - 有一天会问你们如何在桌面上检测窗口)。你能建议一个可用的开源工具来完成这个任务吗?我们不需要任何花哨的捕获视频或截图功能。谢谢,- M.S.
7个回答

10

对于基于浏览器的自动化测试,您可以使用Selenium或者您可以使用WebDriver。 Selenium项目托管在这里


感谢提供这些链接-我刚浏览了一下-根据页面所述,InternetExplorerDriver需要一些额外的组件,并且只能在安装了32位和64位C++及C#交叉编译器的Windows Visual Studio 2008上完全构建“msbuild”应该都在PATH中。最简单的方法是从“开始”菜单启动“Visual Studio 2008命令提示符”...我们没有Visual Studio,因此无法测试独立应用程序:( - Manidip Sengupta
1
只有在您想要从源代码构建InternetExplorerDriver时才需要使用Visual Studio。您不需要这样做,因为已经准备好了完全功能的软件包。 - Robert Balent

5
如果您不需要测试页面在浏览器中的实际呈现方式,而是需要在HTTP/HTTPS等请求级别上进行工作,请查看JMeter。它具有参数化、数据提供程序、图形和代理组件,可记录http用户会话。
如果您确实需要浏览器测试,则如已经提到的那样,Selenium可能是最好的免费工具。对于生产环境,我建议使用Selenium Remote Control服务器,该服务器可以由Java/Python/C#/Perl/PHP编写的脚本驱动。
为了了解人们在真实生产环境中使用的工具,并研究可用的工具,我推荐www.sqaforums.com

2
请查看Sikuli
我建议使用它的原因是因为您需要测试Java小程序和本机浏览器内容(从Java启动,但不是Java本身)- 因此不完全是“纯Java”。
不过,我不确定您所说的第四个标准是什么。值得注意的是,由于Sukuli通过图像分析工作,它将无法将文本复制到文本文件中。

1

我曾经使用过IBM Rational Functional Tester。它拥有你所需要的一切,并且非常容易学习。脚本语言可以是Java或VB.Net,因此你不必为了测试而学习一门新的语言。


我相信这是一个好工具 - 但他们要求一张浮动许可证一年的价格超过了我们的预算,达到了11000美元以上。不过还是感谢提供这个信息。 - Manidip Sengupta

1

这个问题是一个销售推广的邀请,你觉得呢?Mercury Quicktest Professional怎么样(我相信现在它被称为HP Quick Test)。我不认为这会很便宜(而且它是惠普的,可能只能在IE上运行;)。

既然你想要一个开源解决方案,我相信最受欢迎的选择是Selenium,但有时候配置起来很麻烦(比如对于Flex)。所以你应该尝试Watir

它有很多好评,当我评估它时,我喜欢我看到的。此外,它不适用于桌面应用程序,我建议你尝试其他解决方案。

(问题在于开源GUI测试工具通常不是全包含的。如果你需要一个解决方案来处理所有GUI测试需求,那么你应该查看更商业化的解决方案,如QTP。)


请查看 ThoughtWorks 的 Twist。它使用 Sahi(http://sahi.co.in/w/),它在 Selenium 上提供了可行的抽象。 - uncaught_exceptions

0

0

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