天天看點

QTP-14 VBScript VBS基礎QTP-14 VBScript VBS基礎

QTP-14 VBScript VBS基礎

1.     熟練掌握下面的方法:

Strings:

Lcase() & Ucase()      ‘大小寫

strComp()        

StrReverse()          ‘倒序

Len()

Left()

Right()

Mid()

InStr()

InStrRev                       ‘倒序搜尋

LTrim(), RTrim(), Trim()

Replace()

Space()                       ‘産生空格

String(3,”A”)                       ‘産生給定字母”AAA”

Array:

Join

Split

Filter                              ‘傳回含有特定字元串的數組元素

Conversion function

CBool, CByte, CCur, CDate, CInt, CLng, CSng, CStr

Asc():Returns the ANSI character code to the first letter in a string

Chr():Returns the character associated with the specified ANSI character code.

Hex/Oct: converts a number to its Hexadecimal or Octal string

Date and Time functions:

Date()

Time()

Now()

Day/Month/Year

Hour/Minute/Seconds

Weekday          ‘傳回一周的第幾天(7天制)

DataDiff            ‘兩個日期相差的天數

Timer                ‘計時(一天内)

Others

Escape/ UnEscape

Escape : Encodes a string so it contains only ASCII characters.

UnEscape :Decodes a string encoded with the Escape function.

TypeName:Returns Variant subtype information about a variable.

TypeName(4)            ' Returns "Integer".

VarType: Returns a value indicating the subtype of a variable.

MyCheck = VarType(#10/19/62#)   ' Returns 7.

GetRef: Returns a reference to a procedure that can be bound to an event.

Set object.eventname = GetRef(procname)

CreateObject: Creates and returns a reference to an Automation object.

CreateObject(servername.typename [, location])

GetObject: Returns a reference to an Automation object from a file.

GetObject([pathname] [, class])

UBound / LBound

Returns the largest / smallest available subscript for the indicated dimension of an array.

Eval

Evaluates an expression and returns the result. E.g. Eval("2=3")

2.     How to clear new line, line feeds, and tab etc.whitespace characters in a string?

'This function clear new line, line feeds,tab ect. whitespace characters

Function CleanText (s_Text)

   s_Text = Replace(s_Text, vbCrLf, "")

   s_Text = Replace(s_Text, vbCr, vbLf)

   s_Text = Replace(s_Text, Chr(7), "")

   s_Text = Replace(s_Text, vbCrLf, "")

   s_Text = Replace(s_Text, vbCrLf, vbLf)

   s_Text = Replace(s_Text, vbVerticalTab, vbLf)

   s_Text = Replace(s_Text, vbTab, "")

             End Function

3.     ExecuteStatement / ExecuteGlobal Statement

Execute one or more specified statements,defined as strings.

ExecuteGlobal: it executes the statement inglobal scope:

Dim x :x = 4

Call Func1

Sub Func1()

               Dim x : x = 3

               Execute "print x"                                                            'x= 3 local

               ExecuteGlobal "print x"                                             'x=4 global

End Sub

4.     Arrays: fixed length & dynamic

a.     Fixed length arrays:

Dix x(2)                   ‘ 2 dimensional

b.     Dynamic Arrays:

Dim x()

ReDim x(3)

用關鍵字Preserve 來保留數組原來的值。

ReDim x(2,3)

ReDim Preserve x(2,5)          ‘保留了原來x(2,3)的值

               Note:4.1 you can reDim as often as we want. But it can destroy the previous values.

4.2  多元數組用關鍵字Preserve, 隻能 ReDim 數組的最後一維。

ReDim Preserve x(3,5)                      ‘error popup

5.     Optional arguments in VBS

QTP does not support optional parameters butcan be achieved by following ways:

Method 1: Optional arguments using Null/Empty values

'Function checks if param is null or empty

Function IsMissing(ByVal param)

   On Error Resume Next

   IsMissing = IsNull(param) Or IsEmpty(param)

   If err.Number<>0  Then

                  IsMissing = False

   End If

End Function

'this function can have value including Null or Empty

Function Method_1(ByVal param1, ByVal param2)

               If IsMissing(param1) Then param1="default1"

               If IsMissing(param2) Then param1="default2"                              

End Function

Method 2: Optional arguments using Array members

Function Method_2(Arguments)

   Dim ArrayArg

               'check Arguments if missing

               'check Arguments if array

               If VarType(Arguments) < vbArray Then Arguments = Array(Arguments)

                              'check if the dimension is missing

                              ArrayArg = Arguments

               ReDim Preserve ArrayArg(2) '2 dimension is expcted

                              'then to see each dimension of Array is missing or not

End Function

Method 3: Optional arguments using an Array of (Key, value)pairs

思路: 把參數和值放到字典中。

Set Params = CreateObject("Scripting.Dictionary")

Method 4: Optional arguments using an Array of (key:=value) pairs
Method 5: Optional arguments using an Array of Hybrid (Key, value of Key:=value) paris

繼續閱讀