QTP10對Flex外掛程式支援不是很好,很多進階功能使用都有問題。
這主要是這外掛程式是Adobe做的,而HP本身不對flex進行支援。Adobe官方說後續會支援QTP10,由於公司買了QTP10的License,我就只能試用下。
安裝及破解步驟:
1.安裝qtp,基本一路next,先不要管破解的問題
2.拷貝mgn-mqt90.exe到C:/Program Files/Mercury Interactive(建立)檔案夾下
3.建立C:/Program Files/Common Files/Mercury Interactive/License Manager檔案夾
4.執行mgn-mqt90.exe
5.開啟qtp10,然後安裝license,copy檔案C:/Program Files/Common Files/Mercury Interactive/License Manager/LSERVRC中#之前的字串
如:
3QVWCPPOS5NGGFM6KPX64EQFSH6INFRJIVMC5WZ4XIIFIXX86UCPIP4M686DZKV9NANA9BUP# "QuickTestPro" version "6.0", no expiration date, exclusive
JZ7F79F6YQQFVUWNG2V7AW22K537DOELQYNX6VSCNCZ9J8M2QW9OXO5DSEQKUZA46X5BO# "FT-Unified" version "1.0", no expiration date, exclusive
就拷貝#號前的3QVWCPPOS5NGGFM6KPX64EQFSH6INFRJIVMC5WZ4XIIFIXX86UCPIP4M686DZKV9NANA9BUP 然後paste到license嚮導中的license輸入的地方,就可以了
6. 然後安裝QTP Flex外掛程式,找到flex builder的安裝目錄,如果你是預設安裝,你會在C:/Program Files/Adobe/Flex Builder 3/Installers中找到QTP_Plugin_Installer.exe。運行後重開QTP,選中flex3.0.0和web的測試就可以開始錄製測試指令碼了。
QTP設定
由於配置過多,我也沒仔細研究過。大家只要記住基本設定在3個地方有。
File->Settings
Tools->Options
Tools->View Options
Flex Builder設定
只要在flex compiler的命令列中加入-include-libraries "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.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/automation_dmv.swc"
重新編譯整個項目,這樣的flex應用就可以通過QTP錄製指令碼了
好,大家介面熟悉下,就可以正式開始錄製測試指令碼了。
首先在automation-> Record and run settings中的web下設定下要開啟的flex應用的html wrapper,然後按工具列中的Record就可以自動開啟IE進行錄製了。我自己錄製並修改了一個指令碼如下
Browser("Browser").FlexApplication("main").FlexTextArea("txtName").SelectText 0,0<br />Browser("Browser").FlexApplication("main").FlexTextArea("txtName").Input "aaaa"<br />Browser("Browser").FlexApplication("main").FlexTextArea("txtName").ChangeFocus<br />Browser("Browser").FlexApplication("main").FlexTextArea("txtPwd").Input "123456"<br />Browser("Browser").FlexApplication("main").FlexTextArea("txtPwd").Type "ENTER"<br />If Browser("Browser").FlexApplication("main").FlexAlert("Warning").Exist(0) Then<br />Browser("Browser").FlexApplication("main").FlexAlert("Warning").FlexButton("Yes").Type "ENTER"<br />End If<br />Browser("Browser").FlexApplication("main").FlexButton("Logout").Click Wait(2)<br />
然後按play就可以自動化的測試了。
使用下來,感覺QTP對於Flex的支援還有待發展,錄製的指令碼不修改,基本沒法用。而其只支援IE來錄製,QTP10中對於Flex應用不能使用Object spy這個較為重要的功能。所以還是決定用RIATest測試Flex應用,具體使用請繼續關注我的部落格。