• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

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

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

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

    發布: 2009-11-03 15:56 | 作者: 網絡轉載 | 來源: 領測軟件測試網 | 查看: 231次 | 進入軟件測試論壇討論

    領測軟件測試網

    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.kjueaiud.com/

    22/2<12

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

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

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>