PbDataWindow Object
Description
A PowerBuilder DataWindow control.
IMPORTANT
Active Screen operations are not supported for child objects of the PbDataWindow object.
Operations
The sections below list the built-in methods and properties that you can use as operations for the PbDataWindow object.
Note: You can also view a list and descriptions of the PbDataWindow description properties, for use in object repository descriptions, programmatic descriptions, checkpoint and output value steps, and as argument values for the GetTOProperty and GetROProperty methods.
Methods
ActivateCell | Activates (double-clicks) the specified cell in the table. |
ActivateRow | Selects (clicks) the specified row in the table. |
CaptureBitmap | Saves a screen capture of the object as a .png or .bmp image using the specified file name. |
Check | Checks whether the actual value of an item matches the expected value. |
CheckProperty | Checks whether the actual value of the specified object property matches the specified expected value within the specified timeout. |
ChildObjects | Returns the collection of child objects contained within the object. |
GetAllROProperties | Returns the collection of properties and current values from the object in the application. |
Click | Clicks the object. |
DblClick | Double-clicks the object. |
Drag | Performs the 'drag' part of a drag and drop operation. |
Drop | Performs the 'drop' part of a drag and drop operation. |
GetCellData | Retrieves the contents of the specified cell. |
GetROProperty | Returns the current value of the description property from the object in the application. |
GetTextLocation | Checks whether the specified text string is contained in the specified window area. |
GetTOProperties | Returns the collection of properties and values used to identify the object. |
GetTOProperty | Returns the value of the specified description property from the test object description. |
Highlight | Highlights the object in the application. |
GetVisibleText | Returns the text from the specified area. |
MouseMove | Moves the mouse pointer to the designated position inside the object. |
Output | Retrieves the current value of an item and stores it in a specified location. |
RefreshObject | Instructs OpenText Functional Testing to re-identify the object in the application the next time a step refers to this object. |
SelectCell | Selects (clicks) the specified cell in the table. |
SelectRow | Selects the specified row in the table. |
SetCellData | Sets the contents of a cell to the specified text. |
SetTOProperty | Sets the value of the specified description property in the test object description. |
ToString | Returns a string that represents the test object. |
Type | Types the specified string in the object. |
WaitProperty | Waits until the specified object property achieves the specified value or exceeds the specified timeout before continuing to the next step. |
Properties
ColumnCount | The number of columns in the table. |
Describe | The values of properties of a DataWindow control and of controls it contains. |
Exist | Checks whether the object currently exists in the open application. |
RowCount | The number of rows in the table. |
ActivateCell Method
Description
Activates (double-clicks) the specified cell in the table.
Syntax
object.ActivateCell Row, Column
Arguments
Parameter | Description |
---|---|
Row |
Required. A Variant. The row containing the cell you want to activate. The row can be represented in any of the following formats:
|
Column |
Required. A Variant. The column containing the cell you want to activate. The column can be represented in any of the following formats:
|
Return Type
None
Example
'The following example uses the ActivateCell method to activate a cell in a table. PbWindow("main_window").PbDataWindow("datawindow").ActivateCell "#2", "#2"
ActivateRow Method
Description
Selects (clicks) the specified row in the table.
Syntax
object.ActivateRow Row
Arguments
Parameter | Description |
---|---|
Row | Required. A Variant. The row you want to select. The row can be represented in any of the following formats:
|
Return Type
None
Example
'The following example uses the ActivateRow method to click on a row in a table. PbWindow("main_window").PbDataWindow("datawindow").ActivateRow "#2"
Click Method
Description
Clicks the object.
Syntax
object.Click [X], [Y], [BUTTON]
Arguments
Parameter | Description |
---|---|
X |
Optional. An integer value. The x-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the center of the object. Default value = -9999 |
Y |
Optional. An integer value. The y-coordinate of the click. Note that the specified coordinates are relative to the upper left corner of the object. The default value is the center of the object.
Default value = -9999 |
BUTTON |
Optional. A predefined constant or number. The mouse button used to click the object. Default value = micLeftBtn |
Return Type
None
Example
'The following example sets the 'Accept' radio button to 'True'. Afterwards, 'the 'enabled' property of the 'Next' button is checked with the use of GetROProperty. 'If it is enabled, it is clicked. Otherwise, an error is reported 'to the run results, and the 'Cancel' button is clicked. 'Set the radio button PbWindow("Ex_Dialog").PBRadioButton("Accept").Set 'Verify that the 'Next' button is enabled and click the enabled button bEnabled = PbWindow("Ex_Dialog").PbButton("Next").GetROProperty("enabled") If True = bEnabled Then PbWindow("Ex_Dialog").PbButton("Next").Click Else Reporter.ReportEvent micFail, "RadioButton_Set_and_Button_Click_Example", "'Next' button is not enabled even though 'Accept' radio button was set to 'True'" PbWindow("Ex_Dialog").PbButton("Cancel").Click End If
DblClick Method
Description
Double-clicks the object.
Syntax
object.DblClick X, Y, [BUTTON]
Arguments
Parameter | Description |
---|---|
X |
Required. An integer value. The x-coordinate of the double-click. Note that the specified coordinates are relative to the upper left corner of the object. |
Y |
Required. An integer value. The y-coordinate of the double-click. Note that the specified coordinates are relative to the upper left corner of the object. |
BUTTON |
Optional. A predefined constant or number. The mouse button used to double-click the object. Default value = micLeftBtn |
Return Type
None
Example
'The following example uses the GetTextLocatation method to locate a button which 'is not recognized as a separate object, and then double clicks it. 'Find the text bFound = windowTO.GetTextLocation(iconLabel, left_x, top_y, right_x, bottom_y, True) If bFound = False Then DblClickUnrecognizedIcon = False Exit Function End If 'Double click the center of the button center_x = right_x - left_x center_y = bottom_y - top_y windowTO.DblClick center_x, center_y 'Set the return value DoubleClick_Example = True
Drag Method
Description
Performs the 'drag' part of a drag and drop operation.
Syntax
object.Drag X, Y, [BUTTON]
Arguments
Parameter | Description |
---|---|
X |
Required. An integer value. The x-coordinate within the window from which the object is dragged. Note that the specified coordinates are relative to the upper left corner of the object. |
Y |
Required. An integer value. The y-coordinate within the window from which the object is dragged. Note that the specified coordinates are relative to the upper left corner of the object. |
BUTTON |
Optional. A predefined constant or number. The mouse button used to drag the object. Default value = micLeftBtn |
Return Type
None
Example
'The following example uses the Drag and Drop methods to drag an item from its 'current location and drop it in a folder. 'Find the coordinate of the item sourceListView.GetTextLocation itemLabel, source_left_x, source_top_y, source_right_x, source_bottom_y, True source_center_x = (source_right_x + source_left_x) / 2 source_center_y = (source_bottom_y + source_top_y) / 2 'Find the coordinates of the folder item in target listview targetListView.GetTextLocation folderLabel, target_left_x, target_top_y, target_right_x, target_bottom_y, True target_center_x = (target_right_x + target_left_x) / 2 target_center_y = (target_bottom_y + target_top_y) / 2 'Execute the drag and drop operation sourceListView.Drag source_center_x, source_center_y, micLeftBtn targetListView.Drop target_center_x, target_center_y, micLeftBtn
Drop Method
Description
Performs the 'drop' part of a drag and drop operation.
Syntax
object.Drop X, Y, [BUTTON]
Arguments
Parameter | Description |
---|---|
X |
Required. An integer value. The x-coordinate of the object onto which the object is dropped. Note that the specified coordinates are relative to the upper left corner of the object. |
Y |
Required. An integer value. The y-coordinate of the object onto which the object is dropped. Note that the specified coordinates are relative to the upper left corner of the object. |
BUTTON |
Optional. A predefined constant or number. The mouse button that is released to drop the object. Default value = micLeftBtn |
Return Type
None
Example
'The following example uses the Drag and Drop methods to drag an item from its 'current location and drop it in a folder. 'Find the coordinate of the item sourceListView.GetTextLocation itemLabel, source_left_x, source_top_y, source_right_x, source_bottom_y, True source_center_x = (source_right_x + source_left_x) / 2 source_center_y = (source_bottom_y + source_top_y) / 2 'Find the coordinates of the folder item in target listview targetListView.GetTextLocation folderLabel, target_left_x, target_top_y, target_right_x, target_bottom_y, True target_center_x = (target_right_x + target_left_x) / 2 target_center_y = (target_bottom_y + target_top_y) / 2 'Execute the drag and drop operation sourceListView.Drag source_center_x, source_center_y, micLeftBtn targetListView.Drop target_center_x, target_center_y, micLeftBtn
GetCellData Method
Description
Retrieves the contents of the specified cell.
Syntax
object.GetCellData (Row, Column)
Arguments
Parameter | Description |
---|---|
Row |
Required. A Variant. The row containing the cell whose contents you want to retrieve. The row can be represented in any of the following formats:
|
Column |
Required. A Variant. The column containing the cell whose contents you want to retrieve. The column can be represented in any of the following formats:
|
Return Type
A String value.
Example
'The following example uses the RowCount, ColumnCount, and GetCellData methods 'to verify that the cells in a table are not empty. 'Iterate over the rows of the table For curRowIndex = 0 To tableTestObject.RowCount - 1 'Iterate over the columns of the current row For curColIndex = 0 To tableTestObject.ColumnCount - 1 curCellVal = tableTestObject.GetCellData(curRowIndex, curColIndex) If curCellVal = "" Then Reporter.ReportEvent micFail, "ValidateNonNullness", "Null value found" Exit Sub End If Next Next
GetTextLocation Method
Description
Checks whether the specified text string is contained in the specified window area.
Syntax
object.GetTextLocation (TextToFind, Left, Top, Right, Bottom, [MatchWholeWordOnly])
Arguments
Parameter | Description |
---|---|
TextToFind |
Required. A String value. The text string you want to locate. |
Left |
Required. A Variant. The left coordinate of the search area within the window or screen, as a long integer. |
Top |
Required. A Variant. The top coordinate of the search area within the window or screen, as a long integer. |
Right |
Required. A Variant. The right coordinate of the search area within the window or screen, as a long integer. |
Bottom |
Required. A Variant. The bottom coordinate of the search area within the window or screen, as a long integer. Note: Set the Left, Top, Right, and Bottom coordinates to -1 to search for the text string within the object’s entire window. |
MatchWholeWordOnly |
Optional. A Boolean value. If True, the method searches for occurrences that are whole words only and not part of a larger word. If False, the method does not restrict the results to occurrences that are whole words only. Default value = True |
Return Type
A Boolean value.
This method returns the coordinates of the rectangle containing the first instance of the text into the Left, Top, Right, and Bottom arguments if the text is found.
IMPORTANT
- The text to capture must be visible in the application window when the step runs.
- This method returns True only if the TextToFind argument value is found within a single line in the specified area. The text search restarts on each line of text.
- If the TextToFind argument value includes a space, then this method searches for that text as whole words, regardless of the value set in the MatchWholeWords argument. For example, if you search for "a b" and the text "bla bla" exists, the method will still return False. However, if the MatchWholeWords argument is set to False, then a search for "la" in an area where "bla bla" exists, would return True.
- If the text is found (return value = True) and if the Left, Top, Right, and Bottom arguments are supplied as variables, then the method also returns the exact coordinates of the specified text to the supplied arguments (the returned coordinates overwrite the supplied ones).
- The results of this method may be different depending on the settings selected in the Text Recognition pane of the Options dialog box (Tools menu > Options item > GUI Testing tab > Text Recognition pane).
- The results of this method may be different in different run sessions depending on the operating system version you are using, service packs you have installed, other installed toolkits, or the APIs used in your application. Therefore, when possible, it is highly recommended to use the GetROProperty Method to retrieve the value of the text (or equivalent) property from an object in your application instead of using the GetTextLocation method.
- By default, when OpenText Functional Testing captures text for a text/text area checkpoint or output value step using the GetText, GetTextLocation, or GetVisibleText methods, it tries to retrieve the text directly from the object using a Windows API-based mechanism. If OpenText Functional Testing cannot capture the text this way (for example, because the text is part of a picture), it tries to capture the text using an OCR (optical character recognition) mechanism. For details about changing this behavior, see the Can QuickTest Professional Text Recognition behavior be modified Knowledgebase article (number KM202721).
Example
'The following example uses the GetTextLocation method to locate the text on a 'button that has not been implemented with a separate control. Once the button 'is located, it is clicked. 'Find the text bFound = windowTO.GetTextLocation(buttonText, left_x, top_y, right_x, bottom_y, True) If bFound = FalseThen GetTextLocation_Example = FalseExitFunctionEndIf'Click the center of the button center_x = right_x - left_x center_y = bottom_y - top_y windowTO.Click center_x, center_y 'Set return value GetTextLocation_Example = True
GetVisibleText Method
Description
Returns the text from the specified area.
Syntax
object.GetVisibleText ([Left], [Top], [Right], [Bottom])
Arguments
Parameter | Description |
---|---|
Left |
Optional. A long integer value. The left coordinate of the search area within the object’s window. Default value = -1 |
Top |
Optional. A long integer value. The top coordinate of the search area the object’s window. Default value = -1 |
Right |
Optional. A long integer value. The right coordinate of the search area within the object’s window. Default value = -1 |
Bottom |
Optional. A long integer value. The bottom coordinate of the search area a within the object’s window. Note: If the Left, Top, Right, and Bottom arguments are not specified, the method returns all of the text within the visible part of the specified object. Default value = -1 |
Return Type
A String value.
IMPORTANT
- The text to capture must be visible in the application window when the step runs.
- The area is defined by pairs of coordinates that designate two diagonally opposite corners of a rectangle.
- The results of this method may be different depending on the settings selected in the Text Recognition pane of the Options dialog box (Tools menu > Options item > GUI Testing tab > Text Recognition pane).
- The results of this method may be different in different run sessions depending on the operating system version you are using, service packs you have installed, other installed toolkits, or the APIs used in your application. Therefore, when possible, it is highly recommended to use the GetROProperty Method to retrieve the value of the text (or equivalent) property from an object in your application instead of using the GetVisibleText method.
- By default, when OpenText Functional Testing captures text for a text/text area checkpoint or output value step using the GetText, GetTextLocation, or GetVisibleText methods, it tries to retrieve the text directly from the object using a Windows API-based mechanism. If OpenText Functional Testing cannot capture the text this way (for example, because the text is part of a picture), it tries to capture the text using an OCR (optical character recognition) mechanism. For details about changing this behavior, see the Can QuickTest Professional Text Recognition behavior be modified Knowledgebase article (number KM202721).
Example
'The following example uses the GetVisibleText method to determine if an error 'message has been displayed. If it has, the function returns 'True'. allText = windowTO.GetVisibleText If InStr(allText, "Error") <> 0 Then GetVisibleText_Example = False Exit Function End If GetVisibleText_Example = True
MouseMove Method
Description
Moves the mouse pointer to the designated position inside the object.
Syntax
object.MouseMove X, Y
Arguments
Parameter | Description |
---|---|
X |
Required. An integer value. The x-coordinate of the mouse pointer, relative to the upper left corner of the object. |
Y |
Required. An integer value. The y-coordinate of the mouse pointer, relative to the upper left corner of the object. |
Return Type
None
Example
'The following example uses the Check method to verify that a tooltip
'is displayed when the mouse hovers over an object.
windowTO.MouseMove x, y
windowTO.Check bitmapCheckpoint
SelectCell Method
Description
Selects (clicks) the specified cell in the table.
Syntax
object.SelectCell Row, Column
Arguments
Parameter | Description |
---|---|
Row |
Required. A Variant. The row containing the cell you want to select. The row can be represented in any of the following formats:
|
Column |
Required. A Variant. The column containing the cell you want to select. The column can be represented in any of the following formats:
|
Return Type
None
Example
'The following example uses the ActivateCell method to select a cell in a table. PbWindow("main_window").PbDataWindow("datawindow").SelectCell "#2", "#2"
SelectRow Method
Description
Selects the specified row in the table.
Syntax
object.SelectRow Row
Arguments
Parameter | Description |
---|---|
Row |
Required. A Variant. The row you want to select. The row can be represented in any of the following formats:
|
Return Type
None
Example
'The following example uses the SelectRow method to select each row in a 'table and verify that the image in the row is loaded in less than one second. 'Iterate over the rows of the table numRows = PbWindow("main_window").PbDataWindow("datawindow").RowCount For curRowIndex = 1 To numRows 'row indices are 1 based PbWindow("main_window").PbDataWindow("datawindow").SelectRow "#" + CStr(curRowIndex) PbWindow("main_window").WinStatusBar("StatusBar").CheckItemProperty 0, "text", "Loading Complete", 1 Next
SetCellData Method
Description
Sets the contents of a cell to the specified text.
Syntax
object.SetCellData Row, Column, Data
Arguments
Parameter | Description |
---|---|
Row |
Required. A Variant. The row containing the cell whose contents you want to set. The row can be represented in any of the following formats:
|
Column |
Required. A Variant. The column containing the cell whose contents you want to set. The column can be represented in any of the following formats:
|
Data |
Required. A String value. The contents to be entered into the specified cell. |
Return Type
None
Example
'The following example verifies that an error message box is displayed when 'attempting to enter an invalid value(empty string) into a DataWindow cell. 'If it is displayed it uses the Close method to close it. 'Try to set a null value PbWindow("Main").PbDataWindow("DataWindow").SetCellData 1, 1, "" 'Verify that the error message was indeed popped bErrorMsgPopped = PbWindow("Main").PbWindow("ErrorMsg").Exist(1) If bErrorMsgPopped = False Then Reporter.ReportEvent micFail, "ValidateErrorMessageForNullValue", "Error message was not popped when null value was set" Else PbWindow("Main").PbWindow("ErrorMsg").Close End If
Type Method
Description
Types the specified string in the object.
Syntax
object.Type KeyboardInput
Arguments
Parameter | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KeyboardInput |
Required. A String value. The text string and/or constants representing non-alphanumeric keys. The following constants are available:
|
Return Type
None
IMPORTANT
Although the Type method is supported for most objects, if you enter a Type statement for an object in which a user cannot enter text, the method has no visual effect.
Example
'The following example uses the SetSelection method to replace the word "sad" 'with the word "happy". It then uses the SetCaretPos method to place the cursor at 'the sixth character position in the "Edit1" window, and type the word "very". PbWindow("Form1").PbEdit("Edit1").Type "I am sad" PbWindow("Form1").PbEdit("Edit1").SetSelection 5, 8 PbWindow("Form1").PbEdit("Edit1").Type "happy " PbWindow("Form1").PbEdit("Edit1").SetCaretPos 5 PbWindow("Form1").PbEdit("Edit1").Type "very "
ColumnCount Property
Description
The number of columns in the table.
Syntax
object.ColumnCount
Value Type
An integer value.
Property type
Read-only property
Describe Property
Description
The values of properties of a DataWindow control and of controls it contains.
Syntax
object.Describe (PropertyList)
Arguments
Parameter | Description |
---|---|
PropertyList |
Required. A String value. A list of properties or Evaluate functions separated by spaces. Using an Evaluate function enables you to evaluate DataWindow expressions within a script using data in the DataWindow. For more information, see the SyBase PowerBuilder documentation, available on the SyBase Web site. |
Value Type
A String value.
Describe returns a string with a value for each property or Evaluate function in the PropertyList. Each value in the string is separated by a newline character.
Describe returns an exclamation point enclosed in quotation marks for invalid items in the PropertyList and ignores the rest of the items in the PropertyList.
Describe returns a question mark enclosed in quotation marks for properties that have no value.
Property type
Read-only property
IMPORTANT
- The Describe property can cause the test application to perform unexpectedly.
- Not all properties are accessible via the Describe property.
For more information, see the SyBase PowerBuilder documentation, available on the SyBase Web site.
Example
'The following example uses the Describe property to report the contents of a DataWindow 'table to the results Data = dataWindowTO.Describe("datawindow.data") Reporter.ReportEvent micPass, "DataWindow data", Data
RowCount Property
Description
The number of rows in the table.
Syntax
object.RowCount
Value Type
A long integer value.
Property type
Read-only property
See also: