QTP深層掌握

 

1.自定義函數,並調用此函數
定義:Function Definition Generator
路徑:Insert->Function Definition Generator
調用:直接輸入函數名稱,便可使用

2.手工插入操作步驟
定義:Dtep Generator
路徑:Insert->Step Generator

3.語法檢查-編輯腳本語法存在錯誤
路徑:Tools->Check Syntax

4.Run Current Action-單獨運行Action
定義:有利於節約時間,單獨編輯腳本
路徑:Automation->Run Current Action

5.Test Batch Runner-批量運行測試腳本
定義:需要在QTP,Tools-options勾選Allow other Mercury products to run test and components
路徑:開始->程序->QTP->Test Batch Runner

6.QTP與LR的整合
定義:更加完善地操作業務編輯LR的腳本
路徑:Insert Step->Start Transaction

7.QTP-Silent Test Runner與模擬LR的調用
定義:模擬LR調用腳本是否成功,可以看出總事務時間
路徑:開始->程序->QTP->Tool->Silent Test Runner

8.LR運行QTP腳本進行性能測試
定義:更加完善業務,完整的設計腳本
路徑:打開LR文件時,文件類型選擇:All files,選擇QTP.USR的文件就OK了注意:LR一定需要WEB & global license纔不會出現報錯

9.output Value-輸出對象屬性值
定義:測試步驟前,查看對像屬性的值;相當於對檢查點填寫值之前的檢查
路徑:Insert->Output Value

10.網頁檢查點
定義:網頁檢查點可以測出所有鏈接的有效性
路徑:插入檢查點,彈出Object Selection窗體時,選擇page:XX->點擊OK就可以添加網頁檢查點

11.Action輸入參數
定義:爲參數定義一個默認值;進行參數化時,直接在parameter types 選擇Test/action parameter會出現剛纔設置的默認值
路徑:Edit->Action->Action Properties

12.調用Action
定義:在new action中往往都需要另外一個Action外做爲引導,這時我們就可以使用調用Action方式來處下
路徑:Insert->Call to Existing Action
定義:設置調用Action的參數化
路徑2:Edit->Action->Action Properties

13.Environment環境變量參數化,及設置變量
定義:可以使用本機器的一些變量名稱,進行設置Action的變量;進行參數化時,直接在parameter types 選擇Environment設置的默認值
設置變量路徑:File->Setting->Environment->Variable type->User-defined

14.Data Driver
定義:查找錄製時,沒有被參數化的對象;並可以對全部沒有被參數化的對象進行參數化
路徑:Tools->Data Driver

15.VBS自動識別和完成
路徑:Tool->View Options:Auto-expand VBScript syntax

16.使用PathFinder對象查找文件
定義:查找系統文件;Folders添加搜索目錄,可以查詢添加目錄的文件
路徑:Tool->Options:Folders
使用方法:x=PathFinder.Locate("查詢文件:Parameters.mtr")

17.systemutil.Run對象應用
定義:運行某程序
使用方法:systemutil.Run "程序路徑+名稱","運行Link地址"
例:systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://www.baidu.com/"

18.Report對象應用
定義:可設置單獨操作步驟生成一個報告
路徑:Insert->Reprot
使用方法:Reporter.ReportEvent Status, "Name","Details"
例:Reporter.ReportEvent micPass , "123", "123"

19.Environment對象應用
定義:讀取和設置環境變量(Built-In\User-defined上面有講述Environment應用)
腳本:
OS=Environment.Value("OS")
OSVersion=Environment.Value("OSVersion")
TestName=Environment.Value("TestName")
Reporter.ReportEvent micDone , "Environment" ,"運行測試腳本:" &TestName & "的操作系統爲:" & OS & "版本爲:" & OSVersion

20.wait\print\msgbox函數應用
定義:wait暫停測試腳本;print非模式顯示測試過程信息;msgbox窗體模式顯示測試過程信息
腳本:
wait(10);msgbox ("ABC");
print:
set a=browser...
print a

21.虛擬對象
定義:虛擬對象可以把圖片或其他元素轉化爲按鈕形式出進錄製;虛擬對象只可以在錄製時被使用
路徑:Tools->Virtual Objects->New Virtual Objects

22.Recovery Scenarios-錯誤恢復場景
定義:處理不可遇知的錯誤場景;由於步驟太多不詳細講述使用
路徑:
創建場景:Resources->Recovery Scenario Manager
添加場景:File->setting->Recovery:添加創建場景OK

23.使用set & with
定義:多使用set或with把代碼簡化,便於減少代碼的出錯率
腳本:
set a = browser...
a.link("").click

with browser...
 .click
 .click
end with

24.Exist
定義:判斷控件是否存在
腳本:if a("").Exist(2) then
msgbox()...

25.猴子測試-隨機數 Randomize&RandomNumber
定義:Randomize初始化隨機數,RandomNumber隨機產生字符
腳本:
Randomize '初始化 For
For Iterator = 1 To 10 Step 1
key=array("123456","%^&*(","是砂")
n=randomnumber(0,2) 
send=key(n)
'msgbox send

key=array("123456","%^&*(","是砂") :創建數組
n=randomnumber(0,2) :2爲總的數組量,如果輸入總數組不等於組建的數組,會出現問題


26.通過WMI獲取屏幕高度與寬度
定義:讓猴子任意點擊界面的測試,先獲取屏幕的高度與寬度
腳本:
Computer="."
Set objWMIService=GetObject("winmgmts:\\"& Computer &"\root\CIMV2")
Set colItems=objWMIService.execquery("select * from win32_desktopMonitor",,48)
For Each objitem In colitems
height=objitem.screenheight
width=objitem.screenwidth
Next
MsgBox width & "," & height


27.通過.Net獲取屏幕高度與寬度
定義:讓猴子任意點擊界面的測試,先獲取屏幕的高度與寬度
腳本:
Set CreateInstance=DotNetFactory.CreateInstance("System.Windows.Forms.Screen","System.Windows.Forms")
width=CreateInstance.primaryscreen.workingarea.width
height=CreateInstance.primaryscreen.workingarea.height
msgbox width & "," & height


28.生成DLL文件
定義:QTP調用封裝好的DLL文件,可以提高代率讀寫能力及實現功能的擴展
使用方法:MVS2008->編輯代碼並生成,可以在保存文件夾中的bin\Debug裏找個.DLL文件

29.定時啓動QTP並運行腳本
定義:很多時候測試都運行夜深人靜的時候,定時運行腳本是很有必要的事情了
使用方法:
1.創建.bat文件,內容如下:
'============BAT文件=======================
at 17:06 /interactive cscript C:\rc.vbs
'========================================

2.創建.vbs文件,內容如下:
'============VBS文件=======================
Dim qtApp

Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True
qtApp.Open "G:\qtpscript\temp" '這裏是QTP腳本文件夾地址
qtApp.Test.Run , True
'========================================

30.使用DotNetFactory進行創建
定義:可以此方法調用DLL文件
使用方法:Set a=DotNetFactory.CreateInstance("")

31.運行IE
腳本 :systemutil.run "IEXPLORE.EXE"
加載頁面:Browser("Browser").Navigate "http://baidu.com"

32.自動化測試體會
1.重點選擇複用性高的功能模塊
2.針對模塊編寫測試用例
3.根據測試用例進行開發腳本(注意代碼之間的同步處理:sync\wait)
4.對腳本增加檢查點
5.針對腳本與檢查點進行參數化
6.執行每次用例都保持一致的數據,需要數據恢復的處理
7.對象庫管理(統一命名方式、共享對象庫的使用)
8.測試系統的結構(以模塊爲一個Test、以測試點爲一個Action、以Sheet表爲一個測試用例的單元)
9.批量處理寫好的模塊腳本
10.自動化測試報告

33.InStr 函數
示例:
  這個函數說明的是一個字符串在另一個字符串中出現的位置,在自動化測試中,經常用作比較結果來使用。
比如:
Dima,b
a="rtyi"
b="1345krkrtyi:{""><?"
 
If InStr(b,a)>0Then
   MsgBox"測試結果通過"
Else
    MsgBox "測試結果失敗"
End If

34.Split 函數
示例:
  這個函數主要用於拆分字符串用,在自動化測試開發中主要用於拆分測試數據。
比如:
 
Dim a,b,i
 
a="rt124,y556,57777,<>:/*&%"
b=Split(a,",")
 
For i=0 To Ubound(b)
    MsgBox b(i)
Next

35.同時打開多個Action
Window --> New Horizontal Tab Group或者是New Vertical Tab Group這兩種視圖方式。

 

2012-08-02   更新

36. 實時加載動態對象庫
RepositoriesCollection.add "D:\qtp\link.tsr"

37.垂直侵害選取
使用方法:光標左上角點擊鼠標左鍵往右拉,選取完成後點擊鼠標右鍵
更改代碼:選取後直接輸入代碼即可

38.代碼換行符
使用方法:
Browser(a).page(b).link(c).click
--> Browser(a)._
--> page(b)._
--> link(c).click

39.手寫代碼3種方式
-->1.Step Generator
使用路徑:Insert->Step Generator
使用方法:使用對象庫存在對象,然後打開Step Generator點擊對象生成代碼

-->2.Complete Word
使用路徑:Edit->Advanced->Complete Word
快捷方式:Ctrl+Space
使用方法:自動完成編碼者編寫的代碼

-->3.對象拖動生成方式
使用路徑:存在於Available Keywords
使用方法:直接拖動對象到專家窗口,直接生成代碼

40.對象識別工具-Object SPY
使用技巧:->1.半操作模式--Ctrl鍵:支持點擊界面
         ->2.全操作模式--Ctrl+Alt鍵:支持點擊和鍵盤輸入


41.小技巧--快捷鍵
Alt+G鍵:快速跳轉定位到調用的Function
Ctrl+shift+space鍵:重新顯示方法的參數
Alt+ "." 鍵:提示function的方法

42.with...End with
使用方法:
browser(a).page(b).link(c).click
browser(a).page(b).link(d).click
browser(a).page(b).link(e).click
-->
with browser(a).page(b)
.link(c).click
.link(d).click
.link(e).click
end with

 

 持續更新ing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章