Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Articles On Testing

Wecome to http://www.articlesontesting.com !!!

Showing posts with label action. Show all posts
Showing posts with label action. Show all posts

Convert QTP Test Files from one Version to another

'*************************************************************************'
Description:
'
'This example specifies a folder in which tests from an older QuickTest version are
'stored and then loops through each test in the folder (and its subfolders) to open
'each one and save it in the current version format.
'
'***************************************************************************

Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim filesys
Dim maindir
Dim testCol
Dim checkfolder

' Create the QuickTest Professional object
Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True

' Get the collection of test scripts
Set filesys = CreateObject("Scripting.FileSystemObject")

' TO DO: Sepecify the test script directory....
Set maindir = filesys.GetFolder("C:\temp")
Set testCol = maindir.SubFolders

' Loop through each test in the collection
For Each fl In testCol

    ' Verify the folder is a QTP test
    checkfolder = fl.Path & "\Action0"
    If (filesys.FolderExists(checkfolder)) Then ' The folder is a QTP test folder

       ' Convert test
       qtApp.Open fl.Path, False, False

       ' wscript.sleep 1000

       ' Save converted test
       qtApp.Test.Save

    End If
Next

qtApp.Quit

' Release the File System Objects
Set testCol = Nothing
Set maindir = Nothing
Set filesys = Nothing

' Release the QuickTest Professional application object
Set qtApp = Nothing

 The code above will make a set of sript test files work into a new version of the qtp. It just upgrades the script version compatibilty.

For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP

XML File handling Using QTP


QTP Descriptive programming with xml file handling

The following example uses the ItemByName property to confirm that the QTP attribute was added.

Set doc = XMLUtil.CreateXML()

doc.LoadFile "c:\example.xml"

Set root = doc.GetRootElement()

Set attrs = root.Attributes()

msg = "At first I had " & attrs.Count() & " attributes. "

root.AddAttribute "QTP","Great"

Set attr = attrs.ItemByName("QTP")

if attr is nothing then

msgbox "Failed to add attribute!!!"

end if

msg = msg + "Now I have " & attrs.Count() & " attributes. "

root.RemoveAttribute "QTP"

msg = msg + "Again I have " & attrs.Count() & " attributes."

msgbox msg


For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP


Run Action Statement in QTP


              The RunAction statement can run only actions that are already associated with your test as part of the test flow. Therefore, in order to enter a RunAction statement in the Expert View for an external action, you must first insert a call to the action (Insert > Call to Action) or copy the external action (Insert > Copy of Action) into your test. Using this option associates the action with the test and also inserts a RunAction statement for you. After the the external action is added to the test flow, you can add additional calls to that external action in the Expert View.
If you insert a RunAction statement in the Expert View for an external action that is not already associated with your test as a part of the test flow, the RunAction statement fails. For more information on copying or calling external actions.

Syntax

RunAction ActionName, [Iteration , Parameters]


Argument

Type

Description

ActionName

String

The name of the action.

Iteration

Variant

Optional.

-- oneIteration or 0 (Default)—Runs the action only once, using the row in the action's data sheet that corresponds to the global data sheet iteration counter.

If the action's data sheet contains fewer rows than the global sheet, the last row of the action's data sheet will be used for each subsequent iteration.

-- allIterations or 1—Runs iterations on all rows.

-- iteration row range (for example, "1-7")—Indicates the rows for which action iterations will be performed

Note: Iteration is required when calling an external action, but optional when calling a local action (from within the test).

Parameters

Variant

Optional.

The values and storage locations for the called action's input and output parameters. Input parameters are listed before output parameters.

For an input parameter, specify either a fixed value or the name of another defined parameter (Data Table parameter, environment parameter, or an action input parameter of the calling action) from which the argument should take its value.

For an output parameter, specify either a variable in which you want to store the value or the name of a defined parameter (Data Table parameter, environment parameter, or an action output parameter of the calling action).

Return Value

Variant.

If the action called by the RunAction statement includes an ExitAction statement, the RunAction statement can return the value of the ExitAction's RetVal argument. For more information, see ExitAction Statement.

Examples

The following example calls the SearchFlight action, and runs all iterations of the action.

RunAction "SearchFlight", allIterations

The following example performs the same call as the previous example, but runs only one iteration of the action and saves the returned value to the AxnVal variable.

AxnVal=RunAction ("SearchFlight", oneIteration)

The following example runs one iteration of the action, supplies a string value of MyValue for the input parameter, and stores the resulting value of the output parameter in a variable called MyVariable.

RunAction "Action2", oneIteration, "MyValue", MyVariable


For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP


 

Setting Properties for an External Action


 Setting Properties for an External Action :

When you insert a call to an external action, you can choose where you want QTP to store the Data Table data. You can specify this in the External Action tab of the Action Properties dialog box.
To open the Action Properties dialog box, right-click an action in the Test Flow pane and select Action Properties, or select Edit > Action > Action Properties

The External Action tab includes the following options :

Option
Description
Data Table parameters
Indicates where to store the action's Data Table data:
  • To use the original action's data, select Use data stored with the original action (read-only). If you select this option, the data is read-only when viewed from the calling test, and all changes to the original action's data sheet apply when the action runs in the calling test.
  • To use an editable copy of the data in the test's Data Table, select Use a local, editable copy. If you select this option, a copy of the called action's data sheet is added to the calling test's Data Table and is independent of the original action.
Changes to the original action's data sheet do not affect the calling test even if you insert another call to this action after the action's data sheet is modified.
If the called action has parameterized steps that rely on new information in the original action's data sheet, enter the relevant column names and required data to the action sheet in the calling test manually. 

Note: When you call an external action, the global data sheet columns and data from the called action's test are always imported as a local, editable copy in the calling test's global data sheet.
Changes to the original action's global data sheet do not affect the calling test even if you insert another call to this action after the called action's global data sheet is modified.
If the called action has parameterized steps that rely on new information in the global data sheet, enter the relevant column names and required data to the calling test's global data sheet manually.

 Viewing a List of the Tests and Actions Using this Action:

If your tests are stored in Quality Center and are using the resources and dependencies model, the Action Properties dialog box displays the Used By tab. This enables you to view a list of the tests and actions that contain calls to this particular action. This is the same list that is displayed in the Dependencies tab of the Test Plan module in Quality Center. 

 To open the Action Properties dialog box, right-click an action in the Test Flow pane and select Action Properties, or select Edit > Action > Action Properties

The Used By tab includes the following options:
 Option
Description
Test
Indicates the Quality Center path of the test containing a call to this action.
Action
Indicates the internal name of the action containing a call to this action. The internal name is the name that QTP applies to an action by default when the action is created, for example, Action 1. The internal name of the action calling this action is displayed even if the calling action was renamed.

For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP

Setting Action Properties In QTP



Setting General Action Properties:

 You can use the General tab of the Action Properties dialog box to modify the name of an action, add or edit an action's description, or change the reusability status of the action. 

 To open the Action Properties dialog box, right-click an action in the Test Flow pane and select Action Properties, or select Edit > Action > Action Properties

 Note: The name of the action and its path are displayed in the tab. If it was defined with a relative path in QTP, then the path is displayed as .\. If the action is a reusable action or an external action, then Reusable action or External Action is displayed next to the action name. 

The General tab includes the following options:
Option
Description
Name
The name of the action. By default, the action name is the internal name provided by QTP, such as Action 1. This number is incremented by 1 for each new action that is added to the test.
You can rename the action, as needed. The action name must be unique (within the test), cannot begin or end with a space, cannot exceed 1023 characters, and cannot contain the following characters:   \ / : * ? " < > | % ' ! { }
Location
The folder or Quality Center path where the action is stored.
Description
You can insert comments about the action. An action description helps you and other testers know what a specific action does without reviewing all the steps in the action. The description is also displayed in the description area of the Select Action dialog box. This enables you and other testers to determine which action you want to call or copy from another test without having to open it.

Note: You can also add a description when inserting a call to a new action.
Reusable action
Indicates whether the action is a reusable action. By default, this check box is selected. A reusable action can be called multiple times within a test and can be called from other tests. Non-reusable actions can be copied and inserted as independent actions, but cannot be inserted as calls to the original action.
When you change this setting, the action icon changes to a non-reusable action icon or reusable action icon as appropriate. If the steps of the action were expanded, they collapse after changing a non-reusable action to a reusable action. You can view the steps of the reusable action by selecting the action name in the Test Flow pane.

Notes:
·  If the action is called more than once within the test flow or if the action is called by a reusable action, the Reusable action option is read-only. If you want to make the action non-reusable, remove the additional calls to the action from the test. 

·  You cannot expand reusable actions from the test flow view. You can view details of a reusable action by double-clicking the action in the Keyword View, or selecting the action from the Action List. For more information on the test flow and action views, see Using the Action Toolbar in the Keyword View.

For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP

Action Properties In QTP

What are Action properties in QTP?

The Action Properties dialog box enables you to define options for the stored action. These settings apply each time the action is called. You can modify an action name, add or modify an action description, and set an action as reusable or non-reusable. For an external action, you can set the Data Table definitions.
The Action Properties dialog box also enables you to define input and output parameters to be used by the action, and specify the object repositories that are associated with the action. For more information, see Associating Object Repositories with Actions.

Note: The following sections describe how to define action properties using the Action Properties dialog box. You can also define actions and action parameters in the Expert View.

You can open the Action Properties dialog box while working with your test by:
  • Right-clicking an action node in the Test Flow pane and selecting Action Properties.
  • Choosing Edit > Action > Action Properties when an action node is highlighted in the Keyword View or displayed in the Expert View.
  • Right-clicking an action node in the Keyword View and selecting Action Properties.
The Action Properties dialog box always contains the General tab, the Parameters tab, the Associated Repositories tab, and the Used By tab:
Note: In addition to the tabs shown above, the Action Properties dialog box for a called external action also contains an External Action tab, and the other tabs are read-only.

For gaining more insights in the automation using QTP log on to below url :

Automation Testing Using QTP


Run Action Statement In QTP

Action handling in QTP Automation testing :
Description

Runs the specified action in the test.

Note: The RunAction statement can run only actions that are already associated with your test as part of the test flow. Therefore, in order to enter a RunAction statement in the Expert View for an external action, you must first insert a call to the action (Insert > Call to Action) or copy the external action (Insert > Copy of Action) into your test. Using this option associates the action with the test and also inserts a RunAction statement for you. After the the external action is added to the test flow, you can add additional calls to that external action in the Expert View.

If you insert a RunAction statement in the Expert View for an external action that is not already associated with your test as a part of the test flow, the RunAction statement fails. For more information on copying or calling external actions, see the HP QuickTest Professional User Guide.

Syntax

RunAction ActionName, [Iteration , Parameters]


Argument

Type

Description

ActionName

String

The name of the action.

Iteration

Variant

Optional.

-- oneIteration or 0 (Default)—Runs the action only once, using the row in the action's data sheet that corresponds to the global data sheet iteration counter.

If the action's data sheet contains fewer rows than the global sheet, the last row of the action's data sheet will be used for each subsequent iteration.

-- allIterations or 1—Runs iterations on all rows.

-- iteration row range (for example, "1-7")—Indicates the rows for which action iterations will be performed

Note: Iteration is required when calling an external action, but optional when calling a local action (from within the test).

Parameters

Variant

Optional.

The values and storage locations for the called action's input and output parameters. Input parameters are listed before output parameters.

For an input parameter, specify either a fixed value or the name of another defined parameter (Data Table parameter, environment parameter, or an action input parameter of the calling action) from which the argument should take its value.

For an output parameter, specify either a variable in which you want to store the value or the name of a defined parameter (Data Table parameter, environment parameter, or an action output parameter of the calling action).

Return Value

Variant.

If the action called by the RunAction statement includes an ExitAction statement, the RunAction statement can return the value of the ExitAction's RetVal argument. For more information, see ExitAction Statement.

Examples

The following example calls the SearchFlight action, and runs all iterations of the action.

RunAction "SearchFlight", allIterations

The following example performs the same call as the previous example, but runs only one iteration of the action and saves the returned value to the AxnVal variable.

AxnVal=RunAction ("SearchFlight", oneIteration)

The following example runs one iteration of the action, supplies a string value of MyValue for the input parameter, and stores the resulting value of the output parameter in a variable called MyVariable.

Types Of Exit Action Statement

There are four types of exit action statements you can use:

  • ExitAction. Exits the current action, regardless of its iteration attributes.

  • ExitActionIteration. Exits the current iteration of the action.

  • ExitRun. Exits the test, regardless of its iteration attributes.

  • ExitGlobalIteration. Exits the current global iteration.
ExitActionIteration  :


Exits the current iteration of the action. The pass or fail status of the action iteration remains as it was in the step prior to the ExitActionIteration statement.

Note: The ExitActionIteration statement and its return value are displayed in the Test Results.

Syntax
The following example uses the ExitActionIteration function to stop running the current action iteration when the value in the current row of the City column in the action's data sheet is Paris.
CurrentCity = DataTable("City", dtLocalSheet)

If CurrentCity = "Paris" Then ExitActionIteration("Skipping Paris")

Call One Action from Another Action in QTP

How to : Descriptive Programming In QTP Using VBScript


How To Call One Action From Another
' :
This example starts QuickTest, opens a new test, and adds a new action, which calls a second action.
'Then it edits the first action's script to move the call to the second action to a new position in the script,
'validates the syntax of the new script, defines some action parameters, and uploads the
'modified action script.

'****************************************************
' Dim qtApp, ActionContent, ActionName, ActionDescr, NewAction, SecondAction, script
Set qtApp = CreateObject("QuickTest.Application") ' Create the application object
qtApp.Launch
qtApp.Visible = True
qtApp.New

ActionContent = "Window(""Calculator"").WinButton(""1"").Click" & vbCrLf & "Window(""Calculator"").WinButton(""+"").Click" & vbCrLf & "Window(""Calculator"").WinButton(""+"").Click" & vbCrLf & "Window(""Calculator"").WinButton(""="").Click"
ActionDescr = "A new sample action for the test."
ActionName = "Action" + CStr(qtApp.Test.Actions.Count + 1)

'Add a new action at the begining of the test

Set NewAction = qtApp.Test.AddNewAction(ActionName, ActionDescr, ActionContent, False, qtAtBegining)

'Add another action and call it from the begining of the action that was just added above.
ActionContent = "Function f1(str)" & vbCrLf & vbTab & "msgbox str" & vbCrLf & "End Function"
ActionName = "Action" + CStr(qtApp.Test.Actions.Count + 1)
Set SecondAction = NewAction.AddNewAction(ActionName, ActionDescr, ActionContent, True, qtAtBegining)
'Use the Load Script function to store the content of the first new action into the script array
script = Load_Script(NewAction.GetScript())
'Move Call to the action to another script line
script = Move_CallAction(script, SecondAction.Name, UBound(script))
'Convert script array to the text
ActionContent = Save_Script(script)
'Set new script source to the action

scriptError = NewAction.ValidateScript(ActionContent)
If Len(scriptError) = 0 Then
    NewAction.SetScript ActionContent
    NewAction.Description = "Check the calculator application and run next Action"
    NewAction.Type = "Reusable" 'Put non-reusable type to the new action
    Set aParamDefs = NewAction.ActionParameterDefinitions
    aParamDefs.Add "InParam", "An input action parameter definition", 0, 0, "Input Value" 'Add an input string parameter to the newly created action
    aParamDefs.Add "ResParam", "An output action parameter definition", 0, 1, "Output Value" 'Add an output string parameter to the newly created action
    Set resParamDef = aParamDefs.Item ("ResParam")
    resParamDef.Type = 1 'Put the boolean parameter type
    resParamDef.DefaultValue = false
    resParamDef.Description = "Result parameter"
Else
    Err.Raise E_SCRIPT_NOT_VALID, "Validate Script Error", scriptError
End If

Const E_SCRIPT_TABLE = 1
Const E_EMPTY_SCRIPT = 2
Const E_SCRIPT_NOT_VALID = 3

Public Function Load_Script(src)
    If Len(src) = 0 Then
        Err.Raise E_SCRIPT_TABLE, "Load_Script", "Script is empty"
    End If
    Load_Script = Split(Trim(src), vbCrLf)
End Function


Public Function Save_Script(script)

   If Not IsArray(script) Then
       Err.Raise E_SCRIPT_TABLE, "Save_Script", "Script should be string array"
   End If
    If UBound(script) - LBound(script) = 0 Then
        Err.Raise E_SCRIPT_TABLE, "Save_Script", "Script is empty"
    End If
    Save_Script = Join(script, vbCrLf)
End Function


Public Function Find_Line(script, criteria)
    Dim rExp, I
    '********************************************************************
    'Verify that the first argument contains a string array
   If Not IsArray(script) Then
       Err.Raise E_SCRIPT_TABLE, "Find_Line", "The script should be a string array"
   End If

    Set rExp = New RegExp
    ptrn = ""
    If IsArray(criteria) Then
        ptrn = Join(criteria, " * ")
    Else
        ptrn = criteria
    End If
    rExp.Pattern = ptrn 'Set pattern string
    rExp.IgnoreCase = True ' Set case insensitivity.
    rExp.Global = True ' Set global applicability.
    I = 0
    For Each scrItem In script
        If rExp.Execute(scrItem).Count > 0 Then
            Find_Line = I
            Exit Function
        End If
        I = I + 1
    Next
    Find_Line = -1
End Function


Public Function Move_Line(script, curPos, newPos)
    '********************************************************************
    'Verify that the first argument contains a string array
   If Not IsArray(script) Then
       Err.Raise E_SCRIPT_TABLE, "Move_Line", "Script should be string array"
   End If

   scrLen = UBound(script) - LBound(script)
    If curPos = newPos Or curPos < 0 Or newPos < 0 Or scrLen < curPos Or scrLen < newPos Then
        Move_Line = script
        Exit Function
    End If
    tmpLine = script(curPos)
    If newPos > curPos Then
        For curPos = curPos + 1 To scrLen
            script(curPos - 1) = script(curPos)
            If curPos = newPos Then
                script(curPos) = tmpLine
                Exit For
            End If
        Next
    Else
        For curPos = curPos - 1 To 0 Step -1
            script(curPos + 1) = script(curPos)
            If curPos = newPos Then
                script(curPos) = tmpLine
                Exit For
            End If
        Next
    End If
    Move_Line = script
End Function


Function Insert_Line(script, lineSrc, linePos)
    '********************************************************************
    'Verify that the first argument contains a string array
   If Not IsArray(script) Then
       Err.Raise E_SCRIPT_TABLE, "Insert_Line", "Script should be string array"
   End If
   scrLen = UBound(script) - LBound(script)

   If (scrLen = 0 And linePos <> 0) Or (linePos > scrLen + 1) Then
        Insert_Line = script
        Exit Function
   End If

   newScript = Split(String(scrLen + 1, " "), " ")
   shiftIndex = 0
   For I = 0 To scrLen + 1
        If linePos = I Then
            newScript(I) = lineSrc
            shiftIndex = 1
        Else
            newScript(I) = script(I + shiftIndex)
        End If
   Next
   Insert_Line = newScript
End Function


Function Delete_Line(script, linePos)
    '********************************************************************
    'Verify that the first argument contains a string array
   If Not IsArray(script) Then
       Err.Raise E_SCRIPT_TABLE, "Delete_Line", "Script should be string array"
   End If
    scrLen = UBound(script) - LBound(script)
   If (scrLen = 0) Or (linePos > scrLen) Then
        Insert_Line = script
        Exit Function
   End If

   If scrLen = 1 Then
       Delete_Line = Array()
       Exit Function
   End If

    newScript = Split(String(scrLen - 1, " "), " ")
    shiftIndex = 0
    For I = 0 To scrLen
        If linePos = I Then
            shiftIndex = 1
        Else
            newScript(I - shiftIndex) = script(I)
        End If
    Next
    Delete_Line = newScript
End Function


Public Function Move_CallAction(script, actName, newPos)
    curPos = Find_Line(script, Array("RunAction", """" & actName & """"))
    Move_CallAction = Move_Line(script, curPos, newPos)
End Function

ExitAction statement In QTP

Description

Exits the current action, regardless of its local (action) iteration attributes. The pass or fail status of the action remains as it was in the step prior to the ExitAction statement.

Note: The ExitAction statement and its return value are displayed in the Test Results.
In the following example, the CheckForm action calls the GetFormVersion action. The GetFormVersion action checks whether the form is in the new version or the old version. If IsNewForm is True, then the action uses the ExitAction function to return the value 2. If IsNewForm is False, then the action uses the ExitAction function to return the value 1. The CheckForm action stores the value returned by the ExitAction statement in the FormVersion variable, and uses it in the following steps.
' Action "CheckForm"

FormVersion = RunAction("GetFormVersion", oneIteration)

If FormVersion = 2 Then

       Call RunAction("CheckOldForm", oneIteration)

Else       

       Call RunAction("CheckNewForm", oneIteration)

End If

' Action "GetFormVersion"

If IsNewForm Then

       ExitAction(2)

Else

       ExitAction(1)

End If

VbEdit Identification Properties In QTP

How to Identify Objects in QTP, & VBEdit Identification Properties In QTP
Object identification properties can be used in the object repository description, in programmatic descriptions, in checkpoint and output value steps, and as argument values for the GetTOProperty and GetROProperty methods.

The VbEdit test object supports the identification properties listed in the table below. 


Property Name

Description

abs_x

The object's absolute x-coordinate (left) relative to the screen (in pixels).

abs_y

The object's absolute y-coordinate (top) relative to the screen (in pixels).

alignment

Indicates the object's alignment or the alignment of the text in the object.

Possible values:

0 (VbLeftJustify): Text is left-aligned.
1 (VbRightJustify): Text is right-aligned.
2 (VbCenter): Text is centered.

BackColor

The background color of an object.

BorderStyle

The object's border style.

Class Name

The object's class.

column

The x-coordinate of the cursor in the object (in number of characters).

enabled

Indicates whether the object is enabled.

Possible values:                                  
       True       False

focused

Indicates whether the object has the focus.

Possible values:                                  
       True       False

FontBold

Indicates whether the font style is bold.

Possible values:                                  
       True       False (Default)

FontItalic

Indicates whether the font style is italic.

Possible values:                                  
       True       False (Default)

FontName

The font used to display text in the control.

FontSize

The size (in points) of the font used for text displayed in the control.

FontStrikethru

Indicates whether the font style is strikethrough.

Possible values:                                  
       True       False (Default)

FontUnderline

Indicates whether the font style is underlined.

Possible values:                                  
       True       False (Default)

ForeColor

The color of the object's text.

height

The object's height (in pixels).

HideSelection

Indicates whether selected text appears highlighted when the control loses the focus.

Possible values:                                  
       True       False

hWnd

The handle of the run-time object's window.

index

The ordinal identifier that QuickTest assigns to the object to indicate the order in which the object appears in the code relative to other objects with an otherwise identical description. This property cannot be used with GetROProperty.

Values begin with 0.

left

The distance between the internal left edge of an object and the left edge of its container.

line

The y-coordinate of the cursor in the object (in number of lines).

location

The ordinal identifier that QuickTest assigns to the object to indicate where the object appears within the window, frame, or dialog box. Values are assigned from top to bottom, and left to right. This property cannot be used with GetROProperty.

Values begin with 0.

locked

Indicates whether the control can be edited.

Possible values:                                  
       True       False (Default)

MaxLength

The maximum number of characters that can be entered into the edit box.

MultiLine

Indicates whether the control can accept and display multiple lines of text.

Possible values:                                  
       True       False (Default)

name

The object's name.

NativeClass

The object's window class name.

PasswordChar

The characters typed by a user, or placeholder characters in the edit box.

RegExpWndClass

The permanent part of the MFC window class.

RegExpWndTitle

The constant part of the window title.

RightToLeft

Indicates the display direction and visual appearance of the text on a bi-directional system.

Possible values:                             

True: The control runs on a bi-directional platform, such as Hebrew Windows95, and text runs from right to left. The control modifies its behavior, such as putting vertical scroll bars at the left side of a text or list box, putting labels to the right of text boxes, etc.

False: (Default) The control act as though it were running on a non-bidirectional platform, such as English Windows95, and text runs from left to right.

ScrollBars

Indicates whether an object has vertical or horizontal scroll bars.

Possible values:

0 (vbSBNone): None
1 (vbHorizontal): Horizontal
2 (vbVertical): Vertical
3 (vbBoth): Both

SelLength

The number of characters selected.

SelStart

The starting point of the selected text; indicates the position of the insertion point if no text is selected.

SelText

The string containing the currently selected text; consists of a zero-length string ("") if no characters are selected.

TabIndex

The tab order of the object within its parent form.

TabStop

Indicates whether a user can use the Tab key to give the focus to the object.

Possible values:                                  
       True (Default)
       False

tag

An expression that stores any extra data needed for your program. This property is generally used to identify objects.

TestObjGenType

The object's generic type, for example, text box, list box, or table.

TestObjName

The object's name as it appears in the object repository. This property cannot be used with programmatic descriptions or as a description property for the ChildObjects method.

If the object is not found in the object repository, the TestObjName is defined as follows:

  • If the object is found in the application, QuickTest uses the value of the property it normally uses when adding this object to the object repository, surrounded by [ ].

  • If the object is not found in the application, QuickTest uses the value of the object's Class Name property, surrounded by [ ].

text

The text associated with the object.

top

The distance between the internal top edge of an object and the top edge of its container.

vbname

The object's name as set by the developer.

vbname path

The full hierarchy of vbname with all parent objects.

visible

Indicates whether the object is visible.

Possible values:                                  
       True       False

width

The object's width (in pixels).

window id

The object's window identifier.

x

The object's x-coordinate (left) relative to the parent window (in pixels).

y

The object's y-coordinate (top) relative to the parent window (in pixels).