Flex自動化功能測試工具

【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程序測試的一般步驟和流程如下圖所示:
 

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測試項目:
 

Flex自動化功能測試工具
 

 

3、對被測試的Flex程序“激活”Flex擴展:
 

Flex自動化功能測試工具
 

 

    QTP 對Flex 的支持:

    在QTP中測試Flex需要安裝Flex for QTP的插件。

    在Flex Builder 3中帶有爲QTP自動化測試而提供的插件,運行Flex Builder安裝目錄下的\Installers\QTP_Plugin_Installer.exe進行安裝。安裝完成後啓動QTP,在Add-ins Manager窗口中出現Flex 3.0.0的插件加載項:


 

Flex自動化功能測試工具
 

 

    爲了讓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").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Shopping Cart"

    Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexLinkBar("_PhotoAlbum_LinkBar1").Change "Photo Catalog"

    Window("Microsoft Internet Explorer").FlexApplication("PhotoAlbum").FlexBox("Photo Catalog").FlexList("slideList").FlexBox("assets/thumbs/alcatraz.jpg").FlexImage("assets/thumbs/alcatraz.jpg").Click

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章