那么要做某个输入框或下拉选项的参数化将非常困难,要从Body中找到对应的字段,没有可视化的效果,使用View Tree模式,看不到页面。在这种情况下,促发我去查找有哪些自动化测试工具能支持AJAX的。
不支持的工具有:
Ø QTP 9.1 及其以下版本,
但能够录制,如果有Div画出来的控件无法录制的问题,可以通过依次点击 Tools --> Web Event Recording Configuration, 把Event configuration level 的设置从默认的Basic改为Medium ,然后 关闭QTP,重新录制你的脚本就可以了。
Ø LoadRunner 8.0 及其以下版本
Ø VSTS WebTest,即使是新发布的VS2008中的Webtest也不支持,这个好像微软没有跟上
支持AJAX的工具:
Ø Mercury LR 9.0 及LR8.1加补丁,在LR9.0中,AJAX作为一个单独的协议可供选择
大家都熟悉就不介绍了
Ø RadView WebLoad 8.1
WebLoad中有专门的[wlHttp.FormData]来标识每一个操作。
WebLoad是一个开源的压力测试工具,其中的很多源码都已公开。
WebLOAD是来自Radview软件的负载测试工具,它可被用以测试性能和伸缩性,也可被用于正确性验证(验证返回结果的正确性)。其测试脚本是用Javascript(和集成的COM/Java对象)编写的,并支持多种协议,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其他可从脚本调用的协议如FTP、SMTP等,因而可从所有层面对应用程序进行测试。Radview声称拥有超过1600个客户和12年的开发WebLOAD的经验,他们在今年二月发布了WebLOAD专业版的v8版本。而在四月,Radview则以GPL协议发布了WebLOAD的开源社区版本,该版本可从webload.org下载。
Ø Parasoft WebKing 6.0
引用:支持AJAX应用的测试工具WebKing 6.0
Parasoft WebKing提供先进的自动化测试解决方案,涵盖功能和回归测试套件的创建、执行和管理等,并能很好支持AJAX 开发模式,完成对AJAX应用的测试。
借助WebKing 6.0 可以发现JavaScript 代码中存在的、手工不容易发现的缺陷. WebKing 6.0 提供空前的支持以发布正确无误的、一致的JavaScript应用. 在构建AJAX 应用中,许多开发人员对JavaScript还不够熟悉。因为JavaScript不会被编译,开发人员很容易引入错误,这些错误只有到运行时才被发现。通过政策和规则的建立和强制实施,WebKing 6.0可以在编程时帮助开发人员预防错误。
现在,WebKing 6.0可以测试象Google地图那样的AJAX应用,提供自动化的功能测试。WebKing可以隔离和测试单个应用的组件,无需额外的脚本就可以支持不同的浏览器. 除此之外,动态数据被转换为稳定的数据,以减少测试噪音。如同在HTTP消息层上,WebKing可以在页面对象(page object)层次上完成验证。无论什么样的条件,WebKing 可以通过异步HTTP消息来验证客户端JavaScript引擎. 测试用例灵活,并容易被复用和共享。
WebKing 6.0能消除因Web应用变化而需要重写脚本所带来的痛苦。短暂的发布周期会要求开发团队和测试团队之间更紧密的协作。更少的技术用户能通过直观的、易用的界面创建测试用例,并能将这些测试用例转换为开发人员易理解的、基于source-code的单元测试,这些单元测试可再现软件行为。这可以显著降低重复劳动,这些自动产生的单元测试采用开源的HttpUnit库来加强AJAX应用。
特性
功能测试
AJAX 应用测试
负载、性能测试
可存取性分析
客户可定制的增强
Intranet标准执行
自动产生开发人员友好的JUnit 测试用例
在不同浏览器运行已录制测试
组织和实施测试的轻型框架
支持的平台
Windows XP (Professional or Server Edition)
Windows Server 2003
Windows 2000
Linux
Solaris
JavaScript Coding Standards
Overview
BeforeUnload.rule
BrowserDetect.rule
BrowserSpecificEventRegistration.rule
CheckAnonDec1.rule and CheckAnonDec2.rule
CheckClosures1.rule, CheckClosures2.rule and CheckClosures3.rule
CurrentTarget.rule
DocEditInnerHtml.rule
DoubleClick.rule
DoWhileAssign.rule
EmptyForBody.rule
EmptyFunctBody.rule
EnforcePrototype.rule
ForConditions1.rule
ForConditions2.rule
ForLoopVarAssign.rule
FunctionReturn.rule
GlobalHttpRequest1.rule and GlobalHttpRequest2.rule
IfAssign.rule
IfWithoutBlock.rule
IllegalIdentifier.rule
IncrementAssign.rule
KeyModifiers.rule
ManyCases.rule
MouseEnterLeave.rule
MouseEventXY.rule
NamingConvention.rule
NestedReferences.rule
NullComparison.rule
RelatedTarget.rule
SetAttribute_Class.rule
SrcElement.rule
SynchronousRequest.rule
TextRangeFromBookmark1.rule and TextRangeFromBookmark1.rule
Timers1.rule and Timers2.rule
UnusedLocalVar1.rule and UnusedLocalVar2.rule
UnWatchMethod.rule
WatchMethod.rule
WhileAssign.rule
XMLHttpRequestCalls.rule
了解更多信息:
http://www.parasoft.com/jsp/products/home.jsp?product=WebKing&itemId=86
WebKing Data Sheet
WebKing Technical Papers
WebKing Reviews
JAVA Technology Solutions
Web Application Technology Solutions