Quick test professional

QTP Tips QTP codes QTP Faqs and more

Prompt Dialog with Radio buttons in QTP with help of DotNetFactory

The following code popup a dialog with 2 radi button to select an option when it run from the QTP

Set objForm = DotNetFactory.CreateInstance(“System.Windows.Forms.Form”, “System.Windows.Forms”)

Set objRd1 = DotNetFactory.CreateInstance(“System.Windows.Forms.RadioButton”, “System.Windows.Forms”)
Set objRd2 = DotNetFactory.CreateInstance(“System.Windows.Forms.RadioButton”, “System.Windows.Forms”)
Set objGb = DotNetFactory.CreateInstance(“System.Windows.Forms.GroupBox”, “System.Windows.Forms”)
Set objBtn2 = DotNetFactory.CreateInstance(“System.Windows.Forms.Button”, “System.Windows.Forms”)
x=10
y=10
Set p1 = DotNetFactory.CreateInstance(“System.Drawing.Point”,”System.Drawing”,x,y) ‘This will provide the locations(X,Y) for the controls

objRd1.Text=”Radio1″
objGb.Location=p1

p1.Y=30
objRd1.Location=p1
p1.Y=CInt(objRd1.Height)+CInt(objRd1.Top)+10
objRd2.Location=p1
objRd2.Text=”Radio2″
objGb.Text=”Select The Radio Button”
objGb.Controls.Add(objRd1)
objGb.Controls.Add(objRd2)
objBtn2.Text=”OK”
p1.X=60

p1.Y=CInt(objGb.Height)+20
objBtn2.Location=p1
objForm.CancelButton=objBtn2

objForm.Controls.Add(objGb)
objForm.Controls.Add(objBtn2)
objForm.StartPosition=CenterScreen
objForm.Text=”Mohan kakarla”
objForm.ShowDialog
If objRd1.Checked Then
msgbox “You have selected Radio 1″
elseif objRd2.Checked Then
msgbox “You have selected Radio 2″
else
msgbox “No Radio button was selected”
End If

Author: Mohan Kumar Kakarla

March 15, 2008 Posted by quicktestprofessional | DotNetFactory, Uncategorized | , , | 3 Comments

Compare 2 XML files

This Example was written for comparing two XML files assuming the contents of the both XML has the following elements:
<Books>
<Title>QTP</Title>
<Author>Mohan</Author>
<Title>VBS</Title>
<Author>Kumar</Author>
</Books>

Dim description, filepath
Set xmlDoc1 = CreateObject(“Msxml2.DOMDocument”)
xmlDoc1.load(“C:Documents and Settingsmohan.kakarlaDesktop1.xml”)’file 1
Set xmlDoc2 = CreateObject(“Msxml2.DOMDocument”)
xmlDoc2.load(“C:Documents and Settingsmohan.kakarlaDesktop2.xml”)’file 2
Set ElemList1= xmlDoc1.DocumentElement.ChildNodes
Set ElemList2= xmlDoc2.DocumentElement.ChildNodes
If ElemList1.length=ElemList2.length Then’ check weather both xml file has same number of childnodes
  msgbox “Both XML files have same number of Child nodes”

   For i = 0 to ElemList1.length-1

       If ElemList1.item(i).Text=ElemList2.item(i).Text Then
          msgbox “child element:”&i &” is same in both XML files”
      Else
         msgbox “child element:”& i &” is not same in both XML files, In XML file 1, The valueis:”&ElemList1.item(i).Text &” and In XML file 1, The value

is:”&ElemList2.item(i).Text
     End If
  Next
End If

Author: Mohan Kumar Kakarla

March 3, 2008 Posted by quicktestprofessional | XML Scripting | , , , , , , , , , , | 29 Comments

Compare 2 Excel sheets cell by cell

This code will open two excel sheet and compare each sheet cell by cell, if any changes there in cells , it will highlight the cells in red color  in the first sheet.
Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible = True
Set objWorkbook1= objExcel.Workbooks.Open(“C:Documents andSettingsmohan.kakarlaDesktopDocs1.xls”)
Set objWorkbook2= objExcel.Workbooks.Open(“C:Documents and

Settingsmohan.kakarlaDesktopDocs2.xls”)

Set objWorksheet1= objWorkbook1.Worksheets(1)

Set objWorksheet2= objWorkbook2.Worksheets(1)

   For Each cell In objWorksheet1.UsedRange
       If cell.Value <> objWorksheet2.Range(cell.Address).Value Then
           cell.Interior.ColorIndex = 3′Highlights in red color if any changes in cells
       Else
           cell.Interior.ColorIndex = 0
       End If
   Next

set objExcel=nothing
 Author: Mohan Kumar Kakarla

February 27, 2008 Posted by quicktestprofessional | Excel Automation | , , , , , , , , , | 16 Comments

Excel Sorting(Ascending , Descending) By Rows and Columns

Excel Sorting By Row:

Const xlAscending = 1
Const xlNo = 2
Const xlSortRows = 2

Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Open(“C:Documents and Settingsmohan.kakarlaDesktopDocs1.xls”)
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(1,1).activate

Set objRange = objExcel.ActiveCell.EntireRow
objRange.Sort objRange, xlAscending, , , , , , xlNo, , , xlSortRows
set objExcel=nothing

Excel Sorting By Colum :

Const xlAscending = 1′represents the sorting type 1 for Ascending 2 for Desc
Const xlYes = 1

Set objExcel = CreateObject(“Excel.Application”)’Create the excel object
objExcel.Visible = True’Make excel visible
Set objWorkbook = _
objExcel.Workbooks.Open(“C:\Documents and Settings\mohan.kakarla\Desktop\Docs1.xls”)’Open the

document

Set objWorksheet = objWorkbook.Worksheets(1)’select the sheet based on the index .. 1,2 ,3 …
Set objRange = objWorksheet.UsedRange’which select the range of the cells has some data other than blank
Set objRange2 = objExcel.Range(“A1″)’ select the column to sort

objRange.Sort objRange2, xlAscending, , , , , , xlYes
set objExcel=nothing

Reference: MSDN

February 26, 2008 Posted by quicktestprofessional | Excel Automation | , , , , , , , , , , , , | 6 Comments

Whats New In QTP 9.5

  • Maintenance Run Mode :

  • Repair your test on the fly, this will assists you to  adding the steps or uodating the object proprties in OR on the fly.i.e. if your object properties are changed after a new build, you just run the Maintenance Run Mode and update your OR according to that on the fly.

  • Process Guidance :

  • This is little more than more accessible help files. Maybe this is good for when you are first learning to record a test, but it doesn’t seem to add much utility.

  • Flow Pane
  • Available Keywords Pane

  • All Test Objects and functions in one handy location.Rapid test development with drag & drop.Object repository now also supports drag & drop

    1.jpg

  • Resources Pane :

  • All resources associated with the test. You can see all your library file in this pane

    11.jpg

  • Missing Resources Pane
  • Relative Path Helper
  • Improved Bitmap Checkpoint
  • Web Extensibility :
  • 1.Anyone can add support for new web controls

    2.Rapid development in JavaScript

    3.Solid infrastructure supplied by the Web add-in

    4.Extensibility objects are first class citizens

     5.Built-in toolkit: ASPAjax

  • Tabbed browsing :
  • Tabs identified as separate browsers.Same test compatible with tabbed and non tabbed browsers.

  • New Technologies :
  • 1.PowerBuilder

    2. Oracle − Forms 10 −Apps 12

    3.StingRay Objective Grid 10, 114. PeopleSoft 9.0•

    4.New Terminal Emulator versions

    5.NET 3.5 (beta)

  • New environments  :
  • 1.Windows Vista 64 bit

    2. Eclipse 3.2, 3.3

    3.Record on SWT

    4. Firefox 3.0

    5.Netscape 9

    Reference: HP website

    You can download QTP 9.5 on HP website  https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24^1352_4000_100__

    February 21, 2008 Posted by quicktestprofessional | New Features In QTP9.5, Whats New in QTP 9.5 | , , , , , , | 42 Comments

    Uninstall a software using vbscript , QTP

    This works for uninstalling most applications. In this example I will show how AutoCAD 2005 can be uninstalled using a VBScript. Open Regedit and look in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall search for the application and find a the product code that is in GUID format looking like this: {5783F2D7-0301-0409-0002-0060B0CE6BBA} It might be something else for you. The code below will uninstall AutoCAD 2005 as well as Express Tools. Copy the code below into Notepad and give the file the extension vbs.on error resume next
    Set WshShell = CreateObject("WScript.Shell")
    ' Uninstall Express Tools
    WshShell.Run "msiexec /x {5783F2D7-0311-0409-0000-0060B0CE6BBA} /q",1,true
    ' Uninstall AutoCAD 2005
    WshShell.Run "msiexec /x {5783F2D7-0301-0409-0002-0060B0CE6BBA} /q",1,true

    Reference:JTBWorld blog

    February 20, 2008 Posted by quicktestprofessional | Uninstall a software using QTP, Uninstall a software using vbscript | , , , , , , | 3 Comments

    Uninstall a software using vbscript , QTP

    This works for uninstalling most applications. In this example I will show how AutoCAD 2005 can be uninstalled using a VBScript. Open Regedit and look in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall search for the application and find a the product code that is in GUID format looking like this: {5783F2D7-0301-0409-0002-0060B0CE6BBA} It might be something else for you. The code below will uninstall AutoCAD 2005 as well as Express Tools. Copy the code below into Notepad and give the file the extension vbs.on error resume next
    Set WshShell = CreateObject("WScript.Shell")
    ' Uninstall Express Tools
    WshShell.Run "msiexec /x {5783F2D7-0311-0409-0000-0060B0CE6BBA} /q",1,true
    ' Uninstall AutoCAD 2005
    WshShell.Run "msiexec /x {5783F2D7-0301-0409-0002-0060B0CE6BBA} /q",1,true

    Reference:JTBWorld blog

    February 20, 2008 Posted by quicktestprofessional | Uninstall a software using QTP, Uninstall a software using vbscript | | No Comments Yet

    Prompt for password entry and hide while it is being typed

    some times we need to prompt input box for a password and we need to  hide a password while it is being typed.
     But it is not possible with normal VBScript . we can use the AOM for IE with VBScript to do this.

    Following is the code

    strPw = GetPassword( “Please enter your password:” )
    msgbox  “Your password is: ” & strPw

    Function GetPassword( myPrompt )
    ‘ This function uses Internet Explorer to
    ‘ create a dialog and prompt for a password.

        Dim objIE
        ‘ Create an IE object
        Set objIE = CreateObject( “InternetExplorer.Application” )
        ‘ specify  the IE  settings
        objIE.Navigate “about:blank”
        objIE.Document.Title = “Password”
        objIE.ToolBar        = False
        objIE.Resizable      = False
        objIE.StatusBar      = False
        objIE.Width          = 300
        objIE.Height         = 180
        ‘ Center the dialog window on the screen
        With objIE.Document.ParentWindow.Screen
            objIE.Left = (.AvailWidth  – objIE.Width ) \ 2
            objIE.Top  = (.Availheight – objIE.Height) \ 2
        End With
      
        ‘ Insert the HTML code to prompt for a password
        objIE.Document.Body.InnerHTML = “<DIV align=”"center”"><P>” & myPrompt _
                                      & “</P>” & vbCrLf _
                                      & “<P><INPUT TYPE=”"password”" SIZE=”"20″” ” _
                                      & “ID=”"Password”"></P>” & vbCrLf _
                                      & “<P><INPUT TYPE=”"hidden”" ID=”"OK”" ” _
                                      & “NAME=”"OK”" VALUE=”"0″”>” _
                                      & “<INPUT TYPE=”"submit”" VALUE=”" OK “” ” _
                                      & “OnClick=”"VBScript:OK.Value=1″”></P></DIV>”
        ‘ Make the window visible
        objIE.Visible = True
        ‘ Wait till the OK button has been clicked
        Do While objIE.Document.All.OK.Value = 0
            WScript.Sleep 200
        Loop
        ‘ Read the password from the dialog window
        GetPassword = objIE.Document.All.Password.Value
        ‘ Close and release the object
        objIE.Quit
        Set objIE = Nothing
    End Function

    The code will create the screen like this

    ie_password_dialog.gif

    Author: Robvan der Woude

    February 15, 2008 Posted by quicktestprofessional | VBScript and IE Automation | , , , | 5 Comments

    Can we create the window application with VBScipt?

    Can we create the window application with VBScipt?

    yes: using HTML Application (HTA)

    An HTML Application (HTA) is a Microsoft Windows application written with HTML and Dynamic HTML. The ability to write HTAs was introduced with Microsoft Internet Explorer 5.0.

    HTAs can be made from regular HTML files by simply changing the file extension to .hta. A regular HTML file is confined to the security model of the web browser – i.e. to communicating with the server, manipulating the page’s object model (usually to validate forms and / or create interesting visual effects) and reading / writing cookies. An HTA runs as a fully trusted application and therefore has more privileges than a normal HTML file – for example an HTA can create / edit / remove files and registry entries.

    To customize the appearance of an HTA, a new tag, with attributes, is introduced: <hta:application …>. This tag appears in the <head>…</head> section of an HTA document.

    Because an HTA has more privileges than an HTML page, it cannot be executed via http. Rather, the HTA must be downloaded (just like an EXE file) and executed from local file system.

     QTP code Generates for a HTML Application

    QTP generates the code as similar to the normal web applications, except that it shows window instead of browser 

    Example: If the  HTML Application has a edit box then code will be

    Window(..).Webedit(…).set “value”

    Sample code :

    This example code creates a HTML app with 3 edit boxes.

    <SCRIPT Language=”VBScript”>
    Sub SetNameColor

    If Len(UserName.Value) <> 0 Then

    UserName.style.background = “cyan”

    Else

    UserName.style.background = “yellow”

    End If

    End Sub

    </SCRIPT>

    <body>

    Name<br>

    <input type=”text” name=”UserName” size=”25″ style=”background-color:yellow” onChange=”SetNameColor”><p>

    Address<br>

    <input type=”text” name=”Address” size=”25″><p>

    Phone<br>

    <input type=”text” name=”Phone” size=”25″><p>

    </body>

    For More information on HTML Application Refer:

    http://msdn2.microsoft.com/en-us/library/ms536496.aspx

    http://www.microsoft.com/technet/scriptcenter/resources/qanda/htas.mspx

    References:MSDN 

    February 15, 2008 Posted by quicktestprofessional | Extra Topics | | 2 Comments

    Get all files within a time range or specified time

    Dim From

    From = TimeSerial( 11, 0, 0 ) ‘ to emphasize 24 hour clock! 11 AM

    Dim Till

    Till = TimeSerial( 13, 0, 0 )

     Dim oFS

    Set oFS = CreateObject( “Scripting.FileSystemObject” )

    Dim oFile, tFile, Range

    For Each oFile In oFS.getFolder( “.\” ).Files

    tmFile = TimeValue( oFile.DateCreated )

    bInRange = tFile >= From And tFile <= Till

    msgbox oFile.DateCreated &”–”& oFile.Name
       Next

    February 15, 2008 Posted by quicktestprofessional | Files and Folders | , , , , , , , , , , | 4 Comments