QuickTestProfessional基本使用示例 QuickTestProfessional
1 設置腳本間的間隔時間
Wait(2),單位:秒
2 循環語句while
i=0
do while(i<10)
Window("Opera").Restore
Window("Opera").WinObject("OperaWindowClass").Click 446,232
Window("Opera").WinObject("OperaWindowClass").Click 461,278
i=i+1
loop
3 循環語句for
For i=1 to 3
Window("Opera").Restore
Window("Opera").WinObject("OperaWindowClass").Click 446,232
Window("Opera").WinObject("OperaWindowClass").Click 461,278
Next
4 判斷語句
Do while(i<20)
Browser("XX項目").Page("XX項目").Frame("wap").Link("啤酒").Click
wait(2)
Browser("XX項目").Page("XX項目").Frame("wap_2").Link("商鋪詳情").Click
wait(2)
i=i+1
If i=5 Then
Exit do
End If
Loop
5 With語句
Do while(i<20)
With Browser("XX項目")
.Page("XX項目").Frame("wap").Link("生活家居").Click
.Page("XX項目").Frame("wap_5").Link("出租(火爆招租中)").Click
.Page("XX項目").Sync
With .Page("XX項目")
.Frame("wap_6").Image("image").Check CheckPoint("image")'檢查點
.Frame("wap_6").Link("返回XX首頁").Click
.Sync
.Frame("wap").Check CheckPoint("生活家居")'檢查點
End with
End with
i=i+1
If i=3 Then
i=21
End If
Loop
6 檢查點
Browser("XX項目").Page("XX項目").Frame("wap").Link("生活家居").Click
Browser("XX項目").Page("XX項目").Frame("wap_5").Link("出租(火爆招租中)").Click
Browser("XX項目").Page("XX項目").Sync
Browser("XX項目").Page("XX項目").Frame("wap_6").Image("image").Check CheckPoint("image")'檢查點
Browser("XX項目").Page("XX項目").Frame("wap_6").Link("返回XX首頁").Click
Browser("XX項目").Page("XX項目").Sync
Browser("XX項目").Page("XX項目").Frame("wap").Check CheckPoint("生活家居")'檢查點
7 引用函數
Function hjq(i)
msgbox("hjq")
End Function
Do while(i<20)
'開始
Browser("XX項目").Page("XX項目").Frame("wap").Link("啤酒").Click
wait(2)
Browser("XX項目").Page("XX項目").Frame("wap_2").Link("商鋪詳情").Click
'詳情
i=i+1
If i=3 Then
i=21
End If
Call hjq(i)
Loop
8 引用action
錄制action1,在step->action properties中設置該action為reuseable action
錄制action2,在inser->call to exiting action,選擇action1
OK
9 參數化
在keyword view中設置對象的value為參數,并設置值
With Browser("XX項目_2").Page("XX項目")
With .Frame("wap_2")
.WebEdit("key").Set "1"
.WebButton("搜").Click
End With
.Frame("wap_3").Link("重新搜索").Click
With .Frame("wap")
.WebEdit("key").Set DataTable("p_Text", dtGlobalSheet)
.WebButton("搜").Click
End With
.Sync
End With
10 Vbs隨機讀取一行文本內容
'隨機讀取文件中的一行
randomize
set fso=createobject("scrīpting.filesystemobject") '創建文件系統對象
set a=createobject("scrīpting.dictionary") '類似于二維數組
set file=fso.opentextfile("D:\hjq.txt") '打開文件
do while file.atendofstream<>true
m=m+1 'm記錄文件中文本行數
a.add m,file.readline 'file.readline讀取某行記錄
loop
file.close '關閉文件
h=int(rnd*m)
msgbox "第" & h & "行: " & a(h) ,4096,"隨機內容"
msgbox "第1行: " & a(1) ,4096,"內容"
msgbox "第2行: " & a(2) ,4096,"內容"
msgbox "第3行: " & a(3) ,4096,"內容"
11 二維數組的使用
set a=createobject("scrīpting.dictionary") '類似于二維數組
a.add 0,"返回XX首頁"
a.add 1,"返回XX首頁"
a.add 2,"返回XX首頁"
a.add 3,"返回XX首頁"
For i=0 to 3
With Browser("XX項目").Page("XX項目")
With .Frame("wap")
.WebEdit("key").Set "1"
.WebButton("搜").Click
End With
.Frame("wap_2").Link(a(i)).Click
.Sync
End With
Next
12 從文件讀取文本,并賦予參數
set fso=createobject("scrīpting.filesystemobject") '創建文件系統對象
set a=createobject("scrīpting.dictionary") '類似于二維數組
set file=fso.opentextfile("D:\hjq.txt") '打開文件
wait(2)
do while file.atendofstream<>true
With Browser("XX項目").Page("XX項目")
With .Frame("wap")
.WebEdit("key").Set file.readline
.WebButton("搜").Click
End With
.Frame("wap_2").Link("返回XX首頁").Click
.Sync
End With
loop
file.close '關閉文件
13 讀取csv文件并分割字符串
Dim aasplit
set fso=createobject("scrīpting.filesystemobject") '創建文件系統對象
set file=fso.opentextfile("D:\hjq.csv") '打開csv文件
wait(2)
Do while file.atendofstream<>true
aasplit=split(file.readline,",")'用,分割字符串
For i=0 to UBound(aasplit)
With Browser("XX項目").Page("XX項目")
With .Frame("wap")
.WebEdit("key").Set aasplit(i)
.WebButton("搜").Click
End With
.Frame("wap_2").Link("返回XX首頁").Click
.Sync
End With
Next
loop
file.close '關閉文件
14 怎樣識別彈出的web窗口和對象
1, 進入object identification
2, 在enviroment中選擇web
3, 選擇某個test object class,如browser
4, 添加mandatory properties
5, 確定
6, 重新錄制腳本
7, OK
15 Vbs寫文件
set fs =createobject("scrīpting.filesystemobject")
if (fs.fileexists("c:\hjq.txt")) then
set f =fs.opentextfile("c:\hjq.txt",8)
f.write chr(13)+chr(10)
f.write "hello"
f.write chr(13)+chr(10)
f.writeline "beijing"
f.close
else
set f=fs.opentextfile("c:\hjq.txt",2, true)
f.writeblanklines 2 '寫入2個空行
f.write "china"
f.close
end if
16 基本函數
QTP的基本使用函數:
1, 獲取對話框相應的文字: GetVisible Text
2, 查找相應的字符串: instr (1,查找目標字符串,所查找的字符串)
3, 隨機數的獲取: Randomnumber.Value() 或cstr(int(Rnd*10)+1)
4, 等待函數: Wait(秒數)
5, 獲取數組下標: UBound (數組名)
6, 拆分數組: Split(MyString, ",", -1, 1)
7, 可執行步驟: OptionalStep
8, 報告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"
9, 判斷對話框是否存在: .exist
10,事件過濾函數:Reporter.Filter=過濾條件(0,1,2,3),0代表顯示所有的error和warning,1,顯示error,2,顯示waining,3,任何error和warning都不顯示。
11,循環函數:do … loop until,for…to… then next,while.
12,數據表格:DataTable,向外賦值,Dim aa = DataTable.value(“CellingName”,”ActionName”).
13,獲得對象屬性的三種方法GetTOProperty,GetTOProperties,GetROProperty,GetTOProperty獲得程序中對象當前的屬性,GetTOProperties獲得當前屬性所有集合,GetROProperty獲得的是錄制時對象所獲得的屬性。
14,檢查點方法check和輸出指定屬性值output。
15,函數Descrīption,可以獲得某頁面同標簽的屬性進行操作。
16,函數nagative可以隨便跳轉頁面到指定的URL。
17,函數Object可以獲得當前頁面同屬性的控件。
18,函數Focus可以讓控件獲得焦點,函數Blur則是失去焦點,click單擊,dbclick雙擊。
19,函數setAttribute可以設置控件屬性,getAttribute可以獲得屬性。
原文轉自:http://www.anti-gravitydesign.com