Wednesday 21 December 2011

Archive QTP results using XStandard.Zip


'Prerequisite

#Download the free zip component from - http://www.xstandard.com/en/documentation/xzip/
# Move the dll to a directory like: C:\Program Files\XStandard\Bin\
# Open a command prompt and cd to the directory where the dll is located
# Type regsvr32 XZip.dll
# Grant "Read & Execute" file permissions on this dll to Everyone

'------------------------------------------------------------------------------------------------------------

Function ArchiveResults(sFolderPath)

Dim strFolder, strZipFile
strZipFile = sFolderPath&"Results_"&MonthName(Datepart("M", Date))&"_"&Datepart("D", Date)&"_"&Minute(Now)&Second(Now)&".zip"
Set objZip = CreateObject("XStandard.Zip")
objZip.Pack strFolder, strZipFile
Set objZip = Nothing

End Function

'------------------------------------------------------------------------------------------------------------

Monday 19 December 2011

Keyboard event simulation in QTP using windows API

'API declaration for keyboard events
Extern.Declare micVoid, "keybd_event", "user32", "keybd_event", _
micbyte, micbyte, miclong, miclong

'API declaration for MapVirtualkey
Extern.Declare micVoid, "MapVirtualKey", "user32", "MapVirtualKeyA", _
micLong, micLong

Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_KEYDOWN = &H0

Sub KeyDown(KeyAscii)
keyCode = extern.MapVirtualKey(keyAscii, 0)
'Fire the key down event
extern.keybd_event KeyAscii, keyCode, KEYEVENTF_KEYDOWN, 0
End Sub

Sub KeyUp(KeyAscii)
keyCode = extern.MapVirtualKey(keyAscii, 0)
'Fire the key down event
extern.keybd_event KeyAscii, keyCode, KEYEVENTF_KEYUP, 0
End Sub

Sub KeyPress(KeyAscii)
KeyDown KeyAscii
KeyUp KeyAscii
End Sub


'Declare key constants here...

'simulate ALT+F
Call KeyDown(vbKeyAlt)
Call KeyDown(vbKeyF)
Call KeyUp(vbKeyF)
Call KeyUp(vbKeyAlt)

VBScript Key Constants

Const    vbKeyLButton     =    1
Const    vbKeyRButton     =    2
Const    vbKeyCancel     =    3
Const    vbKeyMButton     =    4
Const    vbKeyBack     =    8
Const    vbKeyTab     =    9
Const    vbKeyClear     =    12
Const    vbKeyReturn     =    13
Const    vbKeyShift     =    16
Const    vbKeyControl     =    17
Const    vbKeyMenu     =    18
Const    vbKeyPause     =    19
Const    vbKeyCapital     =    20
Const    vbKeyEscape     =    27
Const    vbKeySpace     =    32
Const    vbKeyPageUp     =    33
Const    vbKeyPageDown     =    34
Const    vbKeyEnd     =    35
Const    vbKeyHome     =    36
Const    vbKeyLeft     =    37
Const    vbKeyUp     =    38
Const    vbKeyRight     =    39
Const    vbKeyDown     =    40
Const    vbKeySelect     =    41
Const    vbKeyPrint     =    42
Const    vbKeyExecute     =    43
Const    vbKeySnapshot     =    44
Const    vbKeyInsert     =    45
Const    vbKeyDelete     =    46
Const    vbKeyHelp     =    47
Const    vbKeyNumlock     =    144
Const    vbKeyA    =    65
Const    vbKeyB    =    66
Const    vbKeyC    =    67
Const    vbKeyD    =    68
Const    vbKeyE    =    69
Const    vbKeyF    =    70
Const    vbKeyG    =    71
Const    vbKeyH    =    72
Const    vbKeyI    =    73
Const    vbKeyJ    =    74
Const    vbKeyK    =    75
Const    vbKeyL    =    76
Const    vbKeyM    =    77
Const    vbKeyN    =    78
Const    vbKeyO    =    79
Const    vbKeyP    =    80
Const    vbKeyQ    =    81
Const    vbKeyR    =    82
Const    vbKeyS    =    83
Const    vbKeyT    =    84
Const    vbKeyU    =    85
Const    vbKeyV    =    86
Const    vbKeyW    =    87
Const    vbKeyX    =    88
Const    vbKeyY    =    89
Const    vbKeyZ    =    90
Const    vbKey0    =    48
Const    vbKey1    =    49
Const    vbKey2    =    50
Const    vbKey3    =    51
Const    vbKey4    =    52
Const    vbKey5    =    53
Const    vbKey6    =    54
Const    vbKey7    =    55
Const    vbKey8    =    56
Const    vbKey9    =    57
Const    vbKeyNumpad0    =    96
Const    vbKeyNumpad1    =    97
Const    vbKeyNumpad2    =    98
Const    vbKeyNumpad3    =    99
Const    vbKeyNumpad4    =    100
Const    vbKeyNumpad5    =    101
Const    vbKeyNumpad6    =    102
Const    vbKeyNumpad7    =    103
Const    vbKeyNumpad8    =    104
Const    vbKeyNumpad9    =    105
Const    vbKeyMultiply    =    106
Const    vbKeyAdd    =    107
Const    vbKeySeparator    =    108
Const    vbKeySubtract    =    109
Const    vbKeyDecimal    =    110
Const    vbKeyDivide    =    111
Const    vbKeyF1    =    112
Const    vbKeyF2    =    113
Const    vbKeyF3    =    114
Const    vbKeyF4    =    115
Const    vbKeyF5    =    116
Const    vbKeyF6    =    117
Const    vbKeyF7    =    118
Const    vbKeyF8    =    119
Const    vbKeyF9    =    120
Const    vbKeyF10    =    121
Const    vbKeyF11    =    122
Const    vbKeyF12    =    123
Const    vbKeyF13    =    124
Const    vbKeyF14    =    125
Const    vbKeyF15    =    126
Const    vbKeyF16    =    127

Sunday 18 December 2011

Exception handling in QTP with a Custom function


Function Application_Crash(Object, Method, Arguments, retVal)

'Determine the method causing the problem
Select Case Method

Case "Check"
objMethod = "Checkpoint failure"

Case "Set"
objMethod = "Unable to set value"

Case "Select"
objMethod = "Unable to select value"

Case "Exist"
objMethod = "Unable to check for object existance"

Case "Sync"
objMethod = "Page / object synchronization error"

Case "Click"
objMethod = "Unable to click the object/link"

Case Else
objMethod = "Unknown reason"

End Select

'Determine the type of object caused the problem
objType = Object.GetTOProperty("micclass")

'Determine object properties
Name = Object.GetToProperty("name")
Type = Object.GetToProperty("type")
HTML = Object.GetToProperty("html tag")
InnerText = Object.GetToProperty("innertext")
objProperties = Name & " " & Type & " " & HTML & " " & InnerText

'Pass the error description to the data table
DataTable("Error_Source", dtGlobalSheet) = "Method = " & objMethod & " // ObjType = " & objType & " // " & objProperties

Test_Name = DataTable("Test_Name", dtGlobalSheet)
Test_Path = DataTable("Test_Path", dtGlobalSheet)
Test_Result = DataTable("Test_Result", dtGlobalSheet)

Call Get_TestResult(Test_Name, "Aborted")

End Function

'********************************************************************************************************************************************************************************************************************************************************************

Disable activex popups in all the zones

'****************************************************************************************************************************************

'Zone codes
'----------------------------------------
'0 My computer
'1 Local Intranet Zone
'2 Trusted sites zone
'3 Internet zone
'4 Restricted sites zone

'value settings
'----------------------------------------
' 0-enabled 1-prompt 3-disabled

'Disable activex popup in all the zones
Function ActiveXprompt()

newValue = 0
SettingCode = "1400"
For i = 0 to 4
ChangeIEZoneSetting CStr(i), SettingCode, newValue
Next

End Function

'****************************************************************************************************************************************

'Function to change setting in a specified zone
 

Function changeIEzoneSetting(ByVal ZoneCode,ByVal SettingCode,ByVal newValue)
Dim WshShellSet
Set WshShell=CreateObject("wscript.shell")
KeyPath="HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones"
WshShell.regWrite keyPath&"\"&ZoneCode&"\"&SettingCode,newValue,"REG_DWORD"
 

End Function

'****************************************************************************************************************************************

Monday 5 December 2011

Date formatting in VBScript

Date formatting in VBScript

Examples
 



'*******************************************************************************
'Function to get the previous date in the format "01-JAN-2011"
Function Get_Previous_Date(Date_Difference)
Dt = Date-Date_Difference
D = DatePart("d", Dt, VbFirstFullWeek)
M = MonthName(Month(Dt),1)
Y = Year(Dt)



If D<10 Then
D = "0"&D
Else
End If



Get_Previous_Date = Trim(D & "-" & M & "-" & Y)


End Function
'*******************************************************************************
http://www.mikesdotnetting.com/Article/22/Date-formatting-in-VBScript


Date()     08/04/2007
Now()     08/04/2007 20:20:15
Time()     20:20:15
FormatDateTime(Now(),vbGeneralDate)     08/04/2007 20:20:15
FormatDateTime(Now(),vbLongDate)     08 April 2007
FormatDateTime(Now(),vbShortDate)     08/04/2007
FormatDateTime(Now(),vbLongTime)     20:20:15
FormatDateTime(Now(),vbShortTime)     20:20
Year(Now())     2007
Month(Now())     4
Day(Now())     8
Hour(Now())     20
Minute(Now())     20
Second(Now())     15
WeekDay(Now())     1
WeekDayName(WeekDay(Now()))     Sunday
WeekDayName(WeekDay(Now()),1)     Sun
MonthName(Month(Now()))     April
MonthName(Month(Now()),1)     Apr
     
DatePart("d", Now)     8 (Day of Month)
DatePart("w", Now)     1 (Week of Month)
DatePart("m", Now)     4 (Month of Year)
DatePart("ww", Now)     15 (Week of Year)
DatePart("y", Now)     98 (Day of Year)
DatePart("yyyy", Now)     2007 (Year)
DatePart("q", Now)     2 (Quarter)
DatePart("h", Now)     20 (Hour)
DatePart("n", Now)     20 (Minute)
DatePart("s", Now)     15 (Second)

DatePart("ww", Now, vbUseSystem)     14
DatePart("ww", Now, vbFirstJan1)     15
DatePart("ww", Now, vbFirstFourDays)     14
DatePart("ww", Now, VbFirstFullWeek)     15



'*******************************************************************************