为Web应用程序选择java自动化测试工具

我是java web自动化测试的新手,我想测试function测试,请任何人建议我从工具中选择这个网站和良好的functionhttp://java-source.net/open-source/web-testing-tools

对于Web测试,使用Selenium(WebDriver)它可能是GoogleCode上用于此目的的最佳工具

您可以在google上找到很多示例, seleniumhq.org上的文档对初学者非常有帮助。

Web应用程序测试工具

Selenium是广泛用于Web应用程序的便携式软件测试框架。 Selenium提供了一种用于创作测试的记录/回放工具,而无需学习测试脚本语言。

Selenium得到了一些最大的浏览器供应商的支持,这些供应商已采取(或正在采取)将Selenium作为其浏览器本机部分的步骤。 它也是无数其他浏览器自动化工具,API和框架的核心技术。

Anteater是一个围绕Ant设计的测试框架,来自Apache Jakarta Project。 它基本上是一组用于网站和Web服务function测试的Ant任务(function测试是:点击URL并确保响应符合某些标准)。 可以测试HTTP参数,响应代码,XPath,regexp和Relax NG表达式。 Anteater还包括HTML报告(基于junitreport)和用于快速配置大型测试脚本的分层分组系统。 收到Web请求后,Anteater可以检查请求的参数并相应地发送响应。 这使它对测试SOAP和XML应用程序很有用。

等待传入HTTP消息的能力是Anteater独有的function,这使得它在为使用基于SOAP的高级通信(如ebXML或BizTalk)的应用程序构建测试时特别有用。 使用这些协议编写的应用程序通常接收SOAP消息并发回无意义的响应。 只是在稍后它们使用客户端上的HTTP请求通知客户端有关处理结果的信息。 这些是所谓的异步SOAP消息,是许多基于SOAP或XML消息的高级协议的核心。

HttpUnit用Java编写,模拟浏览器行为的相关部分,包括表单提交,Javascript,基本HTTP身份validation,cookie和自动页面重定向,并允许Java测试代码将返回的页面检查为文本,XML DOM或容器表格,表格和链接。

jWebUnit是一个Java框架,它有助于创建Web应用程序的验收测试。 它提供了一个高级API,用于导航Web应用程序并结合一组断言来validation应用程序的正确性。 这包括通过链接导航,表单输入和提交,表内容validation以及其他典型的业务Web应用程序function。 它在幕后使用HttpUnit。 与仅使用JUnit和HttpUnit相比,简单的导航方法和即用型断言允许更快速地创建测试。

Bugkilla是一个用于创建,维护,执行和分析Web应用程序的function系统测试的工具集。 Web前端和业务逻辑层都自动测试的规范和执行。 一个目标是与现有框架和工具集成(存在Eclipse插件)

Grinder是一个在BSD风格的开源许可下免费提供的Java负载测试框架,它使用图形控制台应用程序可以轻松地在许多机器的许多进程中协调测试脚本的活动。 测试脚本使用Java插件中包含的客户端代码。 The Grinder的大多数用户不会自己编写插件; 他们使用提供的插件之一。 Grinder附带了一个用于测试HTTP服务的成熟插件,以及一个允许自动记录HTTP脚本的工具。

Jameleon是一种自动化测试工具,可将应用程序分离为function,并允许这些function独立捆绑在一起,从而创建测试用例。 然后,这些测试用例可以是数据驱动的,并针对不同的环境执行。 Jameleon将应用程序分解为function,并允许在任何级别进行测试,只需为同一测试传入不同的数据即可。 由于Jameleon基于Java和XML,因此无需学习专有技术。

它是用于测试应用程序提供的function的验收测试工具,目前支持Web应用程序的测试。 它与常规HttpUnit和jWebUnit的不同之处在于它将function测试与实际测试用例本身分开。 如果我理解正确,您可以单独编写function测试,然后将它们一起编写成可重用的测试用例。 顺便提一下,您还可以将这些测试用例数据驱动,这为在特定环境中运行特定测试提供了一种简便方法。

该框架具有插件架构,允许使用不同的function测试工具,并且有一个插件用于使用HttpUnit / jWebUnit测试Web应用程序。 测试用例脚本用XML和Jelly完成 。

Jameleon结合了XDoclet , Ant和Jelly,为Webapp的可靠function测试提供了一个潜在的强大框架。 它在脚本和编码之间取得了良好的平衡,并允许您通过CSV文件提供输入,为每个测试设置多个输入。 除了灵活性带来了复杂性和维护开销,但您正在为您测试Webapp。

LogiTest是LogiTest套件中的核心应用程序。 LogiTest旨在帮助测试网站function。 它目前支持HTTP和HTTPS协议,GET和POST方法,多个文档视图,自定义标头等。 LogiTest应用程序提供了一个简单的图形用户界面,用于创建和回放测试以测试基于Internet的应用程序。

Solex是一组Eclipse插件,提供Web应用程序服务器的非回归和压力测试。 借助内置的Web代理,可以从Internet浏览器记录测试脚本。 对于某些Web应用程序,请求取决于先前服务器的响应。 为了满足这样的要求,Solex引入了提取和替换规则的概念。 绑定到HTTP消息内容的提取规则将提取的值与变量绑定。 替换规则将用可变内容替换HTTP消息的任何部分。

因此,该工具提供了一种简单的方法来提取URL参数,标头值或请求或响应的任何部分,将它们的值与变量绑定,然后用可变内容替换URL参数,标头值或请求的任何部分。 用户可以为每个响应添加断言。 收到响应后,将调用此响应的所有断言以确保其有效。 如果不是,则停止播放过程。 提供了几种规则和断言。 最复杂的支持正则表达式和XPath。

Tclwebtest是一个在Tcl中编写Web应用程序自动化测试的工具。 它实现了一些基本的HTML解析function,为结果页面的HTML元素(最重要的是forms)上的操作提供了舒适的命令。

TagUnit是一个框架,通过该框架可以在容器内测试自定义标签,并与最终使用它们的页面隔离。 实质上,它是用于在JSP页面中测试标签的标签库。 这意味着可以轻松地对单个测试标记进行unit testing,包括它们生成的内容以及它们对环境的副作用,例如脚本变量的引入,页面上下文属性,cookie等。

Web Form Flooder是一个Java控制台实用程序,它可以分析网页,使用合理的数据完成页面上的任何表单,并提交数据。 它会抓取站点内的链接,以识别和淹没可能存在的其他表单。 它非常适合Web表单的负载测试,检查所有链接是否正常工作以及表单是否正确提交。

XmlTestSuite提供了一种测试Web应用程序的强大方法。 编写测试只需要HTML和XML知识。 作者希望XmlTestSuite能够被没有Java背景的测试人员,业务分析师和Web开发人员采用。 XmlTestSuite支持“测试驱动开发”。 它允许您将页面结构与测试和测试数据分开。 它还可以validation数据库。 它就像JWebUnit,但具有简单的XML测试定义和可重用的页面。

Selenium是用于Web UI测试的最成熟和最广泛使用的工具(无论如何,开源,但我认为还没有更好的专有工具)。 它最大的优点是它使用实际的浏览器引擎,因此也可用于测试AJAX重页面。