为 Web 应用程序选择 java 自动化测试工具 [已关闭]

2022-09-05 00:14:24

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

请建议我一些Web自动化测试工具。我想使用Java来编写我的自动化测试工具。

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

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


答案 1

网络应用程序测试工具

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


答案 2

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

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


推荐