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/