標籤:選擇 keyword 測試 告訴 繼承 index.jsp com service web
這兩天一直在琢磨自動化測試,自動化測試,其實與單元測試有一些相同之處,單元測試的目的也是可以一次寫,多次運行,對於測試驅動及後期維護真是有非常多的好處,用自動化測試載入器也是如何,主要目的是為了迴歸測試。單元測試的時候,我們要先準備資料,再測試,最後再進行資料清理,自動化測試也是如此,大家千萬別覺得自動化測試就是開個測試載入器,然後就不用動手了之類的云云。更多的準備知識,就暫時不需要了。
工具的選擇,看當前主流的C/S都是MI公司,估計WR(winrunner)和QTP(QUICK TEST PROFESSIONAL)用的人多一點。於是就一直忙著對這兩個工具進行比較,因為一直是用DELPHI進行編程,所以這些工具對於DELPHI的支援就是首選的,比來比去,覺得可能QTP會是MI公司以後的主打產品,於是主要的方向還是針對於QTP了,但本人其實是喜歡用C指令碼,也很喜歡WR的自動學習模式。
在選擇版本上,我豪不猶豫地選擇了QTP9,因為是正式版(指的不是測試版,別和正版混在一起了),所以我更喜歡用最高版本的,這樣,不致於使自己的技術落後很多。當然,我們用的只能是破解之後的了,QTP9的破解目前沒有,幸好可以先用QTP8.2,破解後再裝QTP9的試用版,選擇升級安裝,這樣就變成了QTP9的破解版了。這一切的一切,都可以在www.17testing.com及 www.51testing.com上找到。除了裝這些,你還得安裝一個delphi的外掛程式,否則就很麻煩了,這外掛程式在網站上也可以看到。如果不裝這個外掛程式,估計就會氣死了。這兩個網站上還有幾本中文的QTP方面的書,也是挺不錯的,如果大家不知道如何取捨,可以給我發郵件,估計等收到你郵件的時候,我已經收集了不少這方面的書了,我可以郵給你們 [email protected]。
在使用QTP之前,建議先看看QTP使用者指南的目錄,如果你有精力,最好還是看看它的一個簡單的Tutorial,這個有中文版的,廢話不多說了,要是你那兩本都看完了,估計你也就不會看我這個文檔了
運行QTP,記得選上DELPHI的外掛程式,開啟自己用DELPHI寫的一個程式,就可以開始我們自動化測試的第一步了。我這個DELPHI寫的程式很簡單,就是做X+Y=Z這樣的事。放了兩個EDIT,其中一個是TEDIT,另一個是我繼續TEDIT後的一個TQEDIT,只是簡單的繼承,啥代碼也沒有,然後,一個BUTTON,一個LABEL。
在QTP裡,先進行RECORD,RECORD有幾種方式,一種是選擇當前已經開啟的應用程式,另一種是可以自己設定在RECORD的時候,由QTP開啟程式。
好了,正式錄了,把集點切換到我的程式中,然後在第一個EDIT上輸1,第二個EDIT上輸1,按一下BUTTON,OK了,STOP。
先來看看我們錄製的成果吧,在QTP中,已經幫我們產生了代碼,也產生了好多步驟。先檢驗一下先,進行RUN。把DELPHI程式關了,再開。運行。。。。。。。。怎麼回事,一運行就報錯,找不到對象。這個時候,我們先STOP一下。其實這是因為我自己寫的EDIT的類QTP不認識,一個東西它不認識,它就會用很奇怪的方式來標識(或許你在想,該死的,為啥,不用座標來進行標識,其實還真可以這樣)我們可以有辦法來解決它。於是我們告訴QTP,用哪幾個屬性來標識它,在keyword view中,找到那個EDIT所在的條目,點右鍵,有一個object propertys,看一下裡面的條目,估計是用window
id來進行標識的,把它刪除了,增加一個delphiname的條目,這個條目的內容,其實就是DELPHI中控制項的NAME。這個NAME的值,在運行程式的時候,我們怎麼得到呢,QTP早就幫我們想到了,在QTP中,有一個工具,做SPY,和VS工具裡的SPY有點類型,我們用這個SPY來找到我們程式中那個EDIT的delphiname,填上去就OK了。再繼續運行,OK了。於是你可能會想,要是表單上有好多這種EDIT,我改起來豈不是要累死了,其實也有辦法,我們可以給我們這個控制項增加一個針對WIN控制項的映射,找到TOOLS下的OBJECT IDENTIFICATION, 選擇standard windows,增加一個user-defined控制項map to: single edit然後在mandatory properties裡,增加一個delphiname的項,以後錄製的時候,就會把DELPHINAME給錄進去。
(待續)
請大家從以下地址進行下載
QTP,WR,LR的下載:
[url]http://www.tomore.com/catalog/3_25/4.htm[/url]
官方下載:
[url]http://downloads.mercury.com/cgi-bin/portal/download/index.jsp[/url]
QTP 9.2
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92.zip[/url]
QTP相關的外掛程式
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92-net-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp-java-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92-web-services.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-visualage-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-peoplesoft-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-stingray-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-sap-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp82-oracle-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP80-te-addin.zip[/url]
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP80-siebel-addin.zip[/url]
[url]http://support.mercury.com/download/QuickTestProfessional/MI/3308867234-39456-qtp82_delphiaddinbeta1.zip[/url]
http://www.cnblogs.com/qiubole/archive/2007/01/23/627612.html
QTP之delphi試用感想一(自動化測試)