Flex积极化功能测验工具大比拼
2011年07月30日
Flex积极化功能测验工具大比拼
2009-07-30 作者:陈能技 起源:IT168
RIA越来越“火”,各测验工具厂商也紧跟潮流,纷纷开始扶持对RIA过程的测验,对于Flex,它们扶持得怎么样呢?今天,我们就来看个究竟,来个Flex积极化功能测验工具大比拼。
Rational Functional Tester
Rational Functional Tester 8.0现在扶持对Flex2.0和Flex3.0的过程举行测验。在RFT8中,扶持两种措施测验Flex过程,一种是针对“激活”的Flex过程的测验措施,另外一种是针对“非激活”的Flex过程的测验措施。
所谓“激活”与“非激活”是指:是否在编译被测验的Flex过程时加入了Functional Tester代办和Flex积极化库。
在RFT8中举行Flex过程测验的等闲环节和流程如下图所示:
第一步,开发组的开发人员为了RFT的功能测验,对被测验的Flex过程举行开发环境上的设置。
设置能够有两种措施,离别是“激活”与“非激活”的措施:
(1)、“激活”措施
在编译时加入Functional Tester代办和Flex积极化库,然后创立HTML包装(HTML wrapper),把.swf文件嵌入到HTML版面,再把这些文件交给测验组举行测验。
(2)、“非激活”措施
把运行时加载器(Runtime Loader)相干文件和Flex过程同时安排到Web服务器上,然后把URL测验地址提供给测验组。
第二步,测验组发生测验环境。
(1)、万一是“激活”措施,则看Flex过程是否曾经安排到服务器上,万一是,则敞开HTML包装(HTML wrapper)的URL地址,然后敞开RFT8来对嵌入在HTML版面中的Flex过程举行测验。
万一Flex过程尚未被安排到服务器上,则在本地敞开WEB博览器加载HTML包装(HTML wrapper)的文件,然后敞开RFT8来对嵌入在HTML版面中的Flex过程举行测验。
(2)、万一是“非激活”措施,则穿越博览器直接敞开RuntimeLoadingTest.html版面(运行时加载器)的URL,然后敞开RFT8来对嵌入在HTML版面中的Flex过程举行测验。
SilkTest
SilkTest2008 R2现在扶持对Flex2.0、Flex3.0以及Flex3.2的过程举行测验。
和Rational Functional Tester一样,在测验Flex过程之前,必需厉行一系列环节,对被测验的Flex过程举行一些设置:
1、在被测验的Flex过程中包括Adobe Flex 积极化包(Adobe Flex Automation Package)和SilkTest积极化包(SilkTest Automation Package)。
Adobe Flex 积极化包是由Adobe供给的积极化API,可感受开发者供给创立Flex过程的积极化测验接口。在Adobe Flex 积极化包中,automation.swc 和automation_agent.swc 是对Flex框架组件的托付告终。而SilkTest积极化包供给了SilkTest特定的一些告终。
在被测验的Flex利用过程中的include-libraries编译选项中加入下面的文件:
automation.swc
automation_agent.swc
FlexTechDomain.swc
automation_charts.swc (万一Flex过程利用Flex 2.0 SDK,利用了charts组件 )
automation_dmv.swc (万一Flex过程利用Flex 3.0 SDK,利用了charts组件 )
automation_flasflexkit.swc(万一Flex过程中利用了嵌入的Flash内容 )
2、在SilkTest中创立Flex测验项目:
3、对被测验的Flex过程“激活”Flex伸展:
TestComplete
TestComplete 7扶持对Flex2.0及尔后版本的Flex利用过程举行测验。
Flex利用过程扶持MSAA(Microsoft Active Accessibility),它们的元素穿越IAccessible接口泄露出来,因而,TestComplete穿越它的MSAA引擎来获得Flex利用过程控件和对象的相干消息。
为了让TestComplete能够分辨出Flex利用过程的对象,被测验的Flex利用过程定然以MSAA接口扶持的措施编译,并且封装到WEB版面(HTML Wrapper):
万一不以MSAA措施编译,穿越TestComplete也能够录制到Flex过程的测验脚本,如下代码所示:
Dim iexplore
Dim page
Dim vobject
Dim edit
Set iexplore = Aliases.iexplore
Call iexplore.IEFrame.Click(557,倩碧 13)
Set page = iexplore.pageFlickrriaSwf
Call page.ToURL("file:///D:/RIA/官方实例/FlickrRIA.swf")
Set vobject = page.objectFileDRiaFlickrriaSwf
Set edit = vobject.editFlickrTagsOrSearchTerms
Call edit.Click(25, 8)
Call edit.Keys("dog")
Call vobject.Graphic.Click(48, 5)
Call vobject.Graphic1.Click(320, 46)
以MSAA编译后,则录制到如下代码:
Dim iexplore
Dim page
Dim vobject
Dim edit
Dim list
Set iexplore = Aliases.iexplore
Call iexplore.IEFrame.Click(524, 9)
Set page = iexplore.pageFlickrriaSwf
Call page.ToURL("file:///D:/RIA/官方实例/FlickrRIA.swf")
Set vobject = page.objectFileDRiaFlickrriaSwf
Set edit = vobject.editFlickrTagsOrSearchTerms
Call edit.Click(82, 7)
Call edit.Keys("dog")
vobject.buttonSearch.ClickButton
Set list = vobject.List
Call list.ClickItem("[object Object]")
Call list.Click(308, 192)
由此可见es.espritshop.org,MSAA接口的编译措施对于TestComplete测验Flex过程而言至关重要。
QTP
在QTP中测验Flex必需安装Flex for QTP的插件。
在Flex Builder 3中带有为QTP积极化测验而供给的插件,运行Flex Builder安装目录下的/Installers/QTP_Plugin_Installer.exe举行安装。安装告终后启用QTP,在Add-ins Manager窗口中揭示Flex 3.0.0的插件加载项:
为了让QTP能够分辨Flex对象,还必需对被测验的Flex过程举行编译设置,敞开Flex Builder,右键抉择Project -> Properties -> Flex Compiler,修正属性“Additional compiler arguments”,在该属性中增加:
-locale en_US -include-libraries "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation_agent.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/qtp.swc" "C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs/automation_dmv.swc"
这么编译后的Flex过程就能够被QTP所分辨了:
并且能够举行Flex过程脚本的录制:
录制的脚本如下所示:
Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkB ar("_PhotoAlbum_LinkBar1").Change "Shopping Cart"
Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkB ar("_PhotoAlbum_LinkBar1").Change "Photo Catalog"
Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexBox(" Photo Catalog").FlexList("slideList").FlexBox("assets/th umbs/alcatraz.jpg").FlexImage("assets/thumbs/alcatr az.jpg").Click
结论
本文推荐了4种扶持Flex积极化功能测验的商用工具,穿越大约的利用和比拟,能够觉察:每个工具在扶持Flex的对象分辨所批准的技巧上有所差异,然而大局而言可分为两类:一类是批准了Flex积极化接口,例如RFT、SilkTest等;另外一类是未曾批准Flex积极化接口,例如TestComplete批准的时MSAA接口。
大局而言,对Flex利用过程举行测验之前,都必需对编译环境举行必需的设置,TestComplete由于批准MSAA接口,必需设置的内容相对少一些。
与其它工具不同,QTP未曾“原生”扶持Flex,而是“借刀杀人”,必需借助Flex Builder专程为QTP供给的插件来告终对Flex测验的扶持。固然QTP未曾直接扶持Flex,然而穿越开始的利用和比拟,觉察Adobe为其量身订做的Flex插件在分辨对象的力气上比批准MSAA接口的TestComplete要略胜一筹。
本文转自 http://n/Test/200907306.asp他倒感受像C++这么的语言的OO,纯是添乱。
星型转换告终措施.
手机游戏开发必备利器 - PngMate