自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

橫向比較Flex自動(dòng)化功能測(cè)試工具

開(kāi)發(fā) 前端 自動(dòng)化
RIA越來(lái)越“火”,各測(cè)試工具廠商也緊跟潮流,紛紛開(kāi)始支持對(duì)RIA程序的測(cè)試,對(duì)于Flex,它們支持得怎么樣呢?今天,我們就來(lái)看個(gè)究竟,來(lái)個(gè)Flex自動(dòng)化功能測(cè)試工具橫向大比拼。

Rational Functional Tester

Rational Functional Tester 8.0目前支持對(duì)Flex2.0和Flex3.0的程序進(jìn)行測(cè)試。在RFT8中,支持兩種方式測(cè)試Flex程序,一種是針對(duì)“激活”的Flex程序的測(cè)試方式,另外一種是針對(duì)“非激活”的Flex程序的測(cè)試方式。

所謂“激活”與“非激活”是指:是否在編譯被測(cè)試的Flex程序時(shí)加入了Functional Tester代理和Flex自動(dòng)化庫(kù)。

在RFT8中進(jìn)行Flex程序測(cè)試的一般步驟和流程如下圖所示:

Flex程序測(cè)試步驟和流程圖

第一步,開(kāi)發(fā)組的開(kāi)發(fā)人員為了RFT的功能測(cè)試,對(duì)被測(cè)試的Flex程序進(jìn)行開(kāi)發(fā)環(huán)境上的設(shè)置。

設(shè)置可以有兩種方式,分別是“激活”與“非激活”的方式:

(1)、“激活”方式

在編譯時(shí)加入Functional Tester代理和Flex自動(dòng)化庫(kù),然后創(chuàng)建HTML包裝(HTML wrapper),把.swf文件嵌入到HTML頁(yè)面,再把這些文件交給測(cè)試組進(jìn)行測(cè)試。

(2)、“非激活”方式

把運(yùn)行時(shí)加載器(Runtime Loader)相關(guān)文件和Flex程序一起部署到Web服務(wù)器上,然后把URL測(cè)試地址提供給測(cè)試組。

第二步,測(cè)試組建立測(cè)試環(huán)境。

(1)、如果是“激活”方式,則看Flex程序是否已經(jīng)部署到服務(wù)器上,如果是,則打開(kāi)HTML包裝(HTML wrapper)的URL地址,然后打開(kāi)RFT8來(lái)對(duì)嵌入在HTML頁(yè)面中的Flex程序進(jìn)行測(cè)試。

如果Flex程序尚未被部署到服務(wù)器上,則在本地打開(kāi)WEB瀏覽器加載HTML包裝(HTML wrapper)的文件,然后打開(kāi)RFT8來(lái)對(duì)嵌入在HTML頁(yè)面中的Flex程序進(jìn)行測(cè)試。

(2)、如果是“非激活”方式,則通過(guò)瀏覽器直接打開(kāi)RuntimeLoadingTest.html頁(yè)面(運(yùn)行時(shí)加載器)的URL,然后打開(kāi)RFT8來(lái)對(duì)嵌入在HTML頁(yè)面中的Flex程序進(jìn)行測(cè)試。

SilkTest

SilkTest2008 R2目前支持對(duì)Flex2.0、Flex3.0以及Flex3.2的程序進(jìn)行測(cè)試。

和Rational Functional Tester一樣,在測(cè)試Flex程序之前,需要執(zhí)行一系列步驟,對(duì)被測(cè)試的Flex程序進(jìn)行一些設(shè)置:

1、在被測(cè)試的Flex程序中包含Adobe Flex 自動(dòng)化包(Adobe Flex Automation Package)和SilkTest自動(dòng)化包(SilkTest Automation Package)。

Adobe Flex 自動(dòng)化包是由Adobe提供的自動(dòng)化API,可以為開(kāi)發(fā)者提供創(chuàng)建Flex程序的自動(dòng)化測(cè)試接口。在Adobe Flex 自動(dòng)化包中,automation.swc 和automation_agent.swc 是對(duì)Flex框架組件的委托實(shí)現(xiàn)。而SilkTest自動(dòng)化包提供了SilkTest特定的一些實(shí)現(xiàn)。

在被測(cè)試的Flex應(yīng)用程序中的include-libraries編譯選項(xiàng)中加入下面的文件:

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內(nèi)容 )

2、在SilkTest中創(chuàng)建Flex測(cè)試項(xiàng)目:

創(chuàng)建Flex測(cè)試項(xiàng)目""

3、對(duì)被測(cè)試的Flex程序“激活”Flex擴(kuò)展:

激活Flex擴(kuò)展

TestComplete

TestComplete 7支持對(duì)Flex2.0及以后版本的Flex應(yīng)用程序進(jìn)行測(cè)試。

Flex應(yīng)用程序支持MSAA(Microsoft Active Accessibility),它們的元素通過(guò)IAccessible接口暴露出來(lái),因此,TestComplete通過(guò)它的MSAA引擎來(lái)獲取Flex應(yīng)用程序控件和對(duì)象的相關(guān)信息。

為了讓TestComplete可以識(shí)別出Flex應(yīng)用程序的對(duì)象,被測(cè)試的Flex應(yīng)用程序必須以MSAA接口支持的方式編譯,并且封裝到WEB頁(yè)面(HTML Wrapper):

如果不以MSAA方式編譯,通過(guò)TestComplete也可以錄制到Flex程序的測(cè)試腳本,如下代碼所示:

  1. Dim iexplore  
  2. Dim page  
  3. Dim vobject  
  4. Dim edit  
  5. Set iexplore = Aliases.iexplore  
  6. Call iexplore.IEFrame.Click(557, 13)  
  7. Set page = iexplore.pageFlickrriaSwf  
  8. Call page.ToURL("file:///D:/RIA/官方實(shí)例/FlickrRIA.swf")  
  9. Set vobject = page.objectFileDRiaFlickrriaSwf  
  10. Set edit = vobject.editFlickrTagsOrSearchTerms  
  11. Call edit.Click(25, 8)  
  12. Call edit.Keys("dog")  
  13. Call vobject.Graphic.Click(48, 5)  
  14. Call vobject.Graphic1.Click(320, 46)  
  15. 以MSAA編譯后,則錄制到如下代碼:  
  16. Dim iexplore  
  17. Dim page  
  18. Dim vobject  
  19. Dim edit  
  20. Dim list  
  21. Set iexplore = Aliases.iexplore  
  22. Call iexplore.IEFrame.Click(524, 9)  
  23. Set page = iexplore.pageFlickrriaSwf  
  24. Call page.ToURL("file:///D:/RIA/官方實(shí)例/FlickrRIA.swf")  
  25. Set vobject = page.objectFileDRiaFlickrriaSwf  
  26. Set edit = vobject.editFlickrTagsOrSearchTerms  
  27. Call edit.Click(82, 7)  
  28. Call edit.Keys("dog")  
  29. vobject.buttonSearch.ClickButton  
  30. Set list = vobject.List  
  31. Call list.ClickItem("[object Object]")  
  32. Call list.Click(308, 192) 

由此可見(jiàn),MSAA接口的編譯方式對(duì)于TestComplete測(cè)試Flex程序而言至關(guān)重要。

QTP

在QTP中測(cè)試Flex需要安裝Flex for QTP的插件。

在Flex Builder 3中帶有為QTP自動(dòng)化測(cè)試而提供的插件,運(yùn)行Flex Builder安裝目錄下的\Installers\QTP_Plugin_Installer.exe進(jìn)行安裝。安裝完成后啟動(dòng)QTP,在Add-ins Manager窗口中出現(xiàn)Flex 3.0.0的插件加載項(xiàng):

Flex 3.0.0的插件

為了讓QTP可以識(shí)別Flex對(duì)象,還需要對(duì)被測(cè)試的Flex程序進(jìn)行編譯設(shè)置,打開(kāi)Flex Builder,右鍵選擇Project -> Properties -> Flex Compiler,修改屬性“Additional compiler arguments”,在該屬性中添加:

  1. -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所識(shí)別了:

QTP識(shí)別

并且可以進(jìn)行Flex程序腳本的錄制:

Flex程序腳本錄制

錄制的腳本如下所示:

  1. Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Shopping Cart"  
  2.  
  3. Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Photo Catalog"  
  4.  
  5. Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexBox("Photo Catalog").FlexList("slideList").FlexBox("assets/thumbs/alcatraz.jpg").FlexImage("assets/thumbs/alcatraz.jpg").Click 

Flex自動(dòng)化功能測(cè)試工具橫向大比拼結(jié)論

本文介紹了4種支持Flex自動(dòng)化功能測(cè)試的商用工具,經(jīng)過(guò)粗略的使用和對(duì)比,可以發(fā)現(xiàn):每個(gè)工具在支持Flex的對(duì)象識(shí)別所采用的技術(shù)上有所差別,但是總體而言可分為兩類:一類是采用了Flex自動(dòng)化接口,例如RFT、SilkTest等;另外一類是沒(méi)有采用Flex自動(dòng)化接口,例如TestComplete采用的時(shí)MSAA接口。

總體而言,對(duì)Flex應(yīng)用程序進(jìn)行測(cè)試之前,都需要對(duì)編譯環(huán)境進(jìn)行必要的設(shè)置,TestComplete由于采用MSAA接口,需要設(shè)置的內(nèi)容相對(duì)少一些。

與其它工具不同,QTP沒(méi)有“原生”支持Flex,而是“假手于人”,需要借助Flex Builder專門為QTP提供的插件來(lái)實(shí)現(xiàn)對(duì)Flex測(cè)試的支持。雖然QTP沒(méi)有直接支持Flex,但是通過(guò)初步的使用和比較,發(fā)現(xiàn)Adobe為其量身訂做的Flex插件在識(shí)別對(duì)象的能力上比采用MSAA接口的TestComplete要略勝一籌。

【編輯推薦】

  1. Flex教程 Flex程序開(kāi)發(fā)初步
  2. Flex垃圾回收和性能優(yōu)化的一些總結(jié)
  3. Flex和Jsp之間中文參數(shù)的傳遞
  4. Flex編程中需要注意的Namespace用法
  5. 將Flex與Spring集成框架
責(zé)任編輯:彭凡 來(lái)源: IT168
相關(guān)推薦

2010-08-10 14:34:37

QTPFlex

2010-08-10 14:25:42

SilkTestFlex

2010-08-10 14:18:15

RationalFunFlex

2012-12-24 22:54:31

2014-11-12 09:24:00

2011-05-30 17:50:23

分布式測(cè)試

2011-05-31 18:17:07

分布式測(cè)試

2022-07-04 09:00:36

Playwright自動(dòng)化測(cè)試工具

2009-04-14 10:11:29

.NETWeb測(cè)試工具

2022-08-08 07:35:37

云測(cè)試工具云存儲(chǔ)云計(jì)算

2011-11-18 09:11:21

Web

2015-04-15 13:30:54

2011-06-08 17:15:46

QTP腳本

2022-06-02 09:00:00

人工智能工具自動(dòng)化測(cè)試

2021-12-17 10:01:52

人工智能測(cè)試工具

2019-01-23 09:00:00

2022-12-04 23:52:11

iOS自動(dòng)化工具

2009-03-27 14:24:24

2020-08-07 08:10:25

開(kāi)源技術(shù) 工具

2012-09-17 13:21:22

iOSAndroid自動(dòng)化測(cè)試工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)