12

我对网络自动化测试工具非常陌生。我想自动化我的网络功能测试。

请向我推荐一些网络自动化测试工具。我想用Java来写我的自动化测试工具。

我访问了以下站点以选择一个好的工具,但由于我不知道很难为我选择一个合适的工具。 http://java-source.net/open-source/web-testing-tools

任何人都可以建议我一个很好的网络测试工具吗?

4

3 回答 3

32

Web 应用程序测试工具

Selenium是广泛用于 Web 应用程序的可移植软件测试框架。Selenium 提供了一个记录/回放工具,用于在不学习测试脚本语言的情况下编写测试。

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

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

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

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

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

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

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

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

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

该框架有一个插件架构,允许使用不同的功能测试工具,还有一个使用 HttpUnit/jWebUnit 测试 Web 应用程序的插件。测试用例脚本是用 XML 和果冻。

Jameleon 结合XDoclet,Ant 和 Jelly 为您的 Web 应用程序的可靠功能测试提供了一个潜在的强大框架。它在脚本和编码之间取得了很好的平衡,并允许您通过 CSV 文件提供输入来为每个测试设置多个输入。伴随着灵活性而来的是复杂性和维护开销,但您正在为您的 Web 应用程序进行测试。

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

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

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

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

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

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

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

于 2012-04-30T07:21:43.473 回答
6

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

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

于 2012-04-30T07:15:15.840 回答
3

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

于 2012-04-30T07:17:33.953 回答