QuickTestProfessional基本使用

whisperrr發表於2021-08-30

  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可以獲得屬性。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005147/viewspace-2789487/,如需轉載,請註明出處,否則將追究法律責任。