天天看點

QTP - 29 What’s New in QTP QTP的一些功能介紹29 What’s New in QTP

29 What’s New in QTP

29.1 IDE Enhancement:

Comment Block: Comment by “CTRL+M”, uncomment by “CTRL+SHIFT+M”.

Local Function List: Display only local function by “ALT+.”

Ignore Browser: Ignore QC and other pages, setting in “ToolsàOptionsàWeb”

29.2 Added and Enhanced Utility Objects:

QTP adds two methods to the SystemUtil object: BlockInput  & UnBlockInput Method:

BlockInput : Prevents keyboard and mouse input events fromreaching applications. Input is block until UnBlockInput method called or “CTRL+SHIRT+DEL”key pressed.

29.3 The Print Log Utility

a.     Show/Hide the “print log window”

'API declaration for ShowWindow API

Extern.Declare micLong,"ShowWindow","user32","ShowWindow",micLong,micLong

'ShowWindow constants

Const SW_HIDE = 0

Const SW_SHOW = 5

'Function to hide the print log window

Public Function HidePrintWindow()

‘Set visible value: see if print log window is already visible or not

               Set QTPlogWindow = Window("regexpwndclass:=Mercury::Qtprn::PrintWindow" ,"visible:=True|False")

               'Check if the LOg window exist

               If QTPlogWindow.Exist(0) Then

                              hwnd = QTPlogWindow.GetROProperty("hwnd")

                              'Show/Hide the window, choose the Const value above

                              Extern.ShowWindow hwnd, SW_HIDE

               End if

End Function

b.     Get the Print Log text:

Public Function GetPrintWindowText()

  GetPrintWindowText = ""

  Set QTPlogWindow = Window("regexpwndclass:=Mercury::Qtprn::PrintWindow", "visible:=True:False")

  'Check if the Log window exist

  If QTPlogWindow.Exist(0) Then

    'Get the text from of edit box

    GetPrintWindowText = QTPlogWindow.WinEdit("nativeclass:=Edit","visible:=True:False").GetROProperty("text")

  End if

End Function

c.     Clearing the Print WindowBlockInput Method

'API Declaration for SendMessage

Extern.Declare micLong,"SendMessage","user32","SendMessageA",micLong,micLong,micLong,micRef+micLong

'Message to Set text of a window

Const WM_SETTEXT = &HC

'Function to clear the print Log window

Public Function ClearPrintWindow()

  'Check if the print Log window exists or not

  Set QTPlogWindow = Window("regexpwndclass:=Mercury::Qtprn::PrintWindow","visible:=True|False")

  If QTPlogWindow.Exist(0) Then

    'Get the handle of edit box

    'It is important to use "visible:=True|False" here also as the

    'for a hidden window the edit is also hidden

    hwnd = QTPlogWindow.WinEdit("nativeclass:=Edit","visible:=True|False").GetROProperty("hwnd")

    'Send a message to clear the text box text

    Extern.SendMessage hwnd, WM_SETTEXT, 0, 0

  End if

End Function

'Use the function to clear the window

Call ClearPrintWindow

29.4 micRegExpMatch Object

3 methods supported:

Initialize : Assigns the regular expression pattern to be testd;
Compare: compare it with value and return Boolean value;
ToString: Get the string description of the operation;

Here is the example:

micRegExpMatch.Initialize("test.*")

print micRegExpMatch.Compare("testing")

print micRegExpMatch.Compare("System testing")

print micRegExpMatch.ToString()

29.5 MercuryTimers:

MercuryTimers is the objects allow us create various times.

There are 5 methods supported:

Start: start the timer
Continue: Continue the timer
ElapsedTime: Returns the total accumulated time in milliseconds since the timer started.
Reset: Reset the timer
Stop: stop the timer

Here is the example:

MercuryTimers.Timer("Time1").Start

Print MercuryTimers.Timer("Time1").ElapsedTime

MercuryTimers.Timer("Time1").Stop

29.6 RepositoriesCollection

A collectionobject that enables you to programmatically manage the run-time collection ofshared object repository files associated with the current action.

 There are 7 methods supported:

Add Method: Add a share repository
Find Method: find a share repository
MoveToPos Method: Moves the object repository file entry from the current index position to the specified new index position within the run-time collection of shared object repository files associated with the current action.
Remove Method: remove a share repository
RemoveAll Method: remove all share repository
Count Property: count of share repositories
Item Property: Returns the path of the object repository file located in the specified index position within the run-time collection of shared object repository files associated with the current action.

Here is the example:

RepositoriesCollection.RemoveAll

RepositoriesCollection.Add "C:\test1.tsr"

繼續閱讀