<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            軟件測試中Flex自動(dòng)化功能測試工具大比拼

            發(fā)布: 2011-1-14 13:09 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 210次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試中Flex自動(dòng)化功能測試工具大比拼

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

              功能測試也叫黑盒子測試或數據驅動(dòng)測試,只需考慮各個(gè)功能,不需要考慮整個(gè)軟件的內部結構及代碼.一般從軟件產(chǎn)品的界面、架構出發(fā),按照需求編寫(xiě)出來(lái)的測試用例,輸入數據在預期結果和實(shí)際結果之間進(jìn)行評測,進(jìn)而提出更加使產(chǎn)品達到用戶(hù)使用的要求。

              以上是屬于程序軟件類(lèi)的測試,下面介紹應用電子技術(shù)方面的測試

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

            Rational Functional Tester

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

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

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

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

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

            (1)、“激活”方式

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

            (2)、“非激活”方式

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

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

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

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

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

            SilkTest

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

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

            1、在被測試的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)化測試接口。在A(yíng)dobe Flex 自動(dòng)化包中,automation.swc 和automation_agent.swc 是對Flex框架組件的委托實(shí)現。而SilkTest自動(dòng)化包提供了SilkTest特定的一些實(shí)現。

            在被測試的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中創(chuàng )建Flex測試項目:

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

            TestComplete

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

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

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

            如果不以MSAA方式編譯,通過(guò)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/官方實(shí)例/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/官方實(shí)例/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)

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

            QTP

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

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

            為了讓QTP可以識別Flex對象,還需要對被測試的Flex程序進(jìn)行編譯設置,打開(kāi)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所識別了:

            并且可以進(jìn)行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自動(dòng)化功能測試的商用工具,經(jīng)過(guò)粗略的使用和對比,可以發(fā)現:每個(gè)工具在支持Flex的對象識別所采用的技術(shù)上有所差別,但是總體而言可分為兩類(lèi):一類(lèi)是采用了Flex自動(dòng)化接口,例如RFT、SilkTest等;另外一類(lèi)是沒(méi)有采用Flex自動(dòng)化接口,例如TestComplete采用的時(shí)MSAA接口。

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

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

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

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


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

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>