<ruby id="rxdll"></ruby><strike id="rxdll"></strike>

    <rp id="rxdll"></rp>
      <del id="rxdll"><meter id="rxdll"></meter></del>
      <pre id="rxdll"><font id="rxdll"></font></pre>
        <pre id="rxdll"></pre>
      <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

      <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
      <i id="rxdll"><dfn id="rxdll"></dfn></i>
      <font id="rxdll"><meter id="rxdll"></meter></font>

        <mark id="rxdll"><dfn id="rxdll"></dfn></mark>
        • 軟件測試技術
        • 軟件測試博客
        • 軟件測試視頻
        • 開源軟件測試技術
        • 軟件測試論壇
        • 軟件測試沙龍
        • 軟件測試資料下載
        • 軟件測試雜志
        • 軟件測試人才招聘
          暫時沒有公告

        字號: | 推薦給好友 上一篇 | 下一篇

        軟件測試中Flex自動化功能測試工具大比拼

        發布: 2011-1-14 13:09 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 210次 | 進入軟件測試論壇討論

        領測軟件測試網

        軟件測試中Flex自動化功能測試工具大比拼

        Functional testing (功能測試),也稱為behavioral testing(行為測試),根據產品特征、操作描述和用戶方案,測試一個產品的特性和可操作行為以確定它們滿足設計需求。本地化軟件的功能測試,用于驗證應用程序或網站對目標用戶能正確工作。使用適當的平臺、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應用程序是專門為該市場開發的一樣。

          功能測試也叫黑盒子測試或數據驅動測試,只需考慮各個功能,不需要考慮整個軟件的內部結構及代碼.一般從軟件產品的界面、架構出發,按照需求編寫出來的測試用例,輸入數據在預期結果和實際結果之間進行評測,進而提出更加使產品達到用戶使用的要求。

          以上是屬于程序軟件類的測試,下面介紹應用電子技術方面的測試

        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)

        由此可見,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").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

        結論

        本文介紹了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://www.k11sc111.com/

        TAG: 黑盒子 瀏覽器 軟件測試 應用程序 用戶


        關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
        版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
        北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
        技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

        軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

        国产女主播精品_国产片婬乱18一级毛片视频_国产午夜激无码av毛片不卡_国产精品欧美久久久天天影院
          <ruby id="rxdll"></ruby><strike id="rxdll"></strike>

          <rp id="rxdll"></rp>
            <del id="rxdll"><meter id="rxdll"></meter></del>
            <pre id="rxdll"><font id="rxdll"></font></pre>
              <pre id="rxdll"></pre>
            <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

            <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
            <i id="rxdll"><dfn id="rxdll"></dfn></i>
            <font id="rxdll"><meter id="rxdll"></meter></font>

              <mark id="rxdll"><dfn id="rxdll"></dfn></mark>