FRM
Class emos_frm_gui_lib


public class emos_frm_gui_lib

# This library implements the "essence" of EMOS test design strategy. It provides "wrappers" for most frequently used "standard" functions such as edit_set(), list_select_item(), etc. The main point with this wrapper- functions is that they natively interface the low-level FRM-functions and, most of all, transparently implement the notion of SET/CHK/GEN mode for each function.


Method Summary
 intFRM_button_press(in table, in test, in object)
          A standard "wrapper" for button_press() function.
 intFRM_button_set(in table, in test, in object)
          A standard "wrapper" for button_set() function.
 intFRM_button_set_JaNein(in table, in test, in jaObject, in neinObject)
          German version of FRM_button_set_YesNo.
 intFRM_button_set_YesNo(in table, in test, in yesObject, in noObject)
          Convenience function for GUI constructs consisting of two radio buttons where one stands for "yes" and the other one for "no".
 intFRM_edit_set(in table, in test, in object)
          A standard "wrapper" for edit_set() function.
 intFRM_is_case_sensitive()
          Returns the state of comparison indicator.
 intFRM_list_activate_item(in table, in test, in object)
          A standard "wrapper" for list_activate_item() function.
 intFRM_list_select_item(in table, in test, in object)
          A standard "wrapper" for list_select_item() function.
 intFRM_list_select_multi_items(in table, in test, in object)
          A standard "wrapper" for list_select_multi_items() function.
 intFRM_menu_select_item(in table, in test, in timeout)
          A standard "wrapper" for menu_select_item() function.
 intFRM_menu_select_item1(in table, in test, in timeout)
          The new "wrapper" for menu_select_item() function.
 intFRM_obj_type(in table, in test, in object, in suffix, in force_suffix)
          A standard "wrapper" for obj_type() function.
 intFRM_obj_wait_info(in table, in test, in object)
          We implement here our own equivalent of obj_wait_info().
 intFRM_radio_button_set(in table, in test, inout[] objArr)
          Convenience function for a group of related radio buttons.
 intFRM_set_case_sensitive(in m)
          Sets a generic indicator wheter to perform case-sensitive comparison or not.
 intFRM_static_get(in table, in test, in object)
          A standard "wrapper" for static_get_text() function.
 intFRM_tab_select_item(in table, in test, in object)
          A standard "wrapper" for tab_select_item() function.
 intFRM_toolbar_button_press(in table, in test, in object)
          A standard "wrapper" for toolbar_button_press() function.
 intFRM_win_type(in table, in test, in window, in suffix, in force_suffix)
          A standard "wrapper" for win_type() function.

Method Detail

FRM_button_press

public int FRM_button_press(in table, in test, in object)
A standard "wrapper" for button_press() function. You may use the function in two ways. 1.) If you specify the <object>, then the value from the data table is evaluated. If the value resambles to Yes, the <object> is "pressed". 2.) If you do not provide the <object> parameter, then the value from the data table is used as the name of the object to be "pressed". The second alternative is an elegant way of pressing on OK, Cancel and similar buttons.

FRM-GUI-TYPE: navigation (read-only)

TEST DATA FORMAT: String containing either Y/YES/ON (or german equivalent J/JA/ON) or the logical name of the button to be pressed.

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native button_press() function according to aforementioned description.

CHK-MODE: Not supported for type: navigation! There is nothing to be checked with button_press(). Behaves the same as the SET-mode!

GEN-MODE: Not supported for type: navigation! Ignores the cell (i.e. skips the cell).

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) (optional) - GUI-object where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_button_set

public int FRM_button_set(in table, in test, in object)
A standard "wrapper" for button_set() function. The function performs a button_set() on a specified <object> using the value from the data table. You can use it for both radio buttons and check buttons. The supported states are ON and OFF. DIMMED is not supported.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing either Y/YES/ON or N/NO/OFF (or German version J/JA/ON and N/NEIN/OFF).

SET-MODE: The function evaluates the value from the data table. If Yes, the <object> is set to ON. Otherwise the <object> is set to OFF.

CHK-MODE: The function evaluates the value from the data table. If Yes, the <object> is expected to be in ON-state. Otherwise the <object> is expected to be in OFF-state.

GEN-MODE: The evaluates the state of the <object>. If ON, then "ON" is generated. If OFF, then "OFF" is generted. If any other state is determined (e.g. DIMMED), then "???" is generated. Nonexisting objects are silently ignored.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_button_set_JaNein

public int FRM_button_set_JaNein(in table, in test, in jaObject, in neinObject)
German version of FRM_button_set_YesNo.
Parameters:
table (in) table - name
test (in) test - name (column)
jaObject (in) logical - name of the Yes radio button
neinObject (in) logical - name of the No radio button
Returns: E_OK: operation successful !E_OK: operation failed
See Also:
FRM_button_set_YesNo

FRM_button_set_YesNo

public int FRM_button_set_YesNo(in table, in test, in yesObject, in noObject)
Convenience function for GUI constructs consisting of two radio buttons where one stands for "yes" and the other one for "no". A special-purpose "wrapper" for button_set() function.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing either "Yes"/"No", "Y"/"N" or the German equivalent ( "Ja"/"Nein", "J"/"N")

SET-MODE: The function evaluates the value from the data table. In case of Yes, the <yesObject> is set. Otherwise <noObject> is set.

CHK-MODE: The function evaluates the value from the data table. In case of Yes, the <yesObject> is expected to be set. Otherwise <noObject> is expected to be set.

GEN-MODE: The function first evaluates the <yesObject>. If set, then "Y" is generated. Otherwise the <noObject> is evaluated. If set, then "N" is generated. If either none of objects exist or none of them is set, then no data is generated.

Parameters:
table (in) table - name
test (in) test - name (column)
yesObject (in)logical - name of the Yes radio button
noObject (in)logical - name of the No radio button
Returns: E_OK: operation successful !E_OK: operation failed

FRM_edit_set

public int FRM_edit_set(in table, in test, in object)
A standard "wrapper" for edit_set() function. The function performs a edit_set() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing value to be set or checked.

SET-MODE: The function uses the value from the data table as a second parameter to edit_set() function.

CHK-MODE: The function uses the value from the data table as a second parameter to edit_check_text() function. Please note that third parameter (case-sensitive flag) can be specified via FRM_set_case_sensitive().

GEN-MODE: Uses edit_get_text() to retrieve the content of the edit object. Note that an empty string is converted to "<<clear>>" as generated test data.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_is_case_sensitive

public int FRM_is_case_sensitive()
Returns the state of comparison indicator.
Returns: TRUE: case-sensitive comparison enabled FALSE: case-sensitive comparison disabled

FRM_list_activate_item

public int FRM_list_activate_item(in table, in test, in object)
A standard "wrapper" for list_activate_item() function. The function performs a list_activate_item() using the value from the data table.

FRM-GUI-TYPE: navigation (read-only, can be generated)

TEST DATA FORMAT: String containing logical name or the index (e.g. #1) of the item to be activated.

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native list_activate_item() function.

CHK-MODE: Not supported for type: navigation! There is nothing to be checked with a double click on a list item. Behaves the same as the SET-mode!

GEN-MODE: Supported although type: navigation! We have found it practical to generate the item name of the currently selected item.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_list_select_item

public int FRM_list_select_item(in table, in test, in object)
A standard "wrapper" for list_select_item() function. The function performs a list_select_item() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing names or indices of the desired list items.

SET-MODE: The function uses the value from the data table as a second parameter to list_select_item() function. Third and fourth parameters are not supported.

CHK-MODE: The function uses the value from the data table as a second parameter to list_check_selected() function.

GEN-MODE: Uses list_get_selected() to retrieve the selection and generate test data.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_list_select_multi_items

public int FRM_list_select_multi_items(in table, in test, in object)
A standard "wrapper" for list_select_multi_items() function. The function performs a list_select_multi_items() on a specified <object> using the value from the data table. Make sure to format the string according to the rules for the native function (i.e. comma-separated).

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing names or indices of the desired list items.

SET-MODE: The function uses the value from the data table as a second parameter to list_select_multi_items() function. Third and fourth parameters are not supported.

CHK-MODE: It probably won't work because native functions list_check_mult_selected() and list_check_selection() do not seem to be available for public. Our implementation is based on list_check_selected(). We were too lazy to implement our own checking. If you want to do it yourself, then function list_get_selected() is something to start with.

GEN-MODE: Uses list_get_selected() to retrieve the selection. Before generating the test data the separators returned by list_get_selected() are converted to something compatible with list_select_multi_items().

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_menu_select_item

public int FRM_menu_select_item(in table, in test, in timeout)
A standard "wrapper" for menu_select_item() function. The function performs a menu_select_item() using the value from the data table.

FRM-GUI-TYPE: navigation (read-only)

TEST DATA FORMAT: String containing logical name or the index (e.g. #1) of the tab to be selected.

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native menu_select_item() function.

CHK-MODE: Not supported for type: navigation! There is nothing to be checked with menu_select_item(). Behaves the same as the SET-mode!

GEN-MODE: Not supported for type: navigation! Ignores the cell (i.e. skips the cell).

Parameters:
table (in) table - name
test (in) test - name (column)
timeout (in) (optional) - sometimes menues aren't reaady when WR thinks they are; use the <timeout> to force the function menu_wait_info( object, "enabled", timeout ) to be called before the actual menu_select_item() is invoked.
Returns: E_OK: operation successful !E_OK: operation failed

FRM_menu_select_item1

public int FRM_menu_select_item1(in table, in test, in timeout)
The new "wrapper" for menu_select_item() function. The function performs a menu_select_item() using the value from the data table.

FRM-GUI-TYPE: navigation (read-only)

TEST DATA FORMAT: String containing logical name or the index (e.g. #1) of the tab to be selected.

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native menu_select_item() function.

CHK-MODE: Not supported for type: navigation! There is nothing to be checked with menu_select_item(). Behaves the same as the SET-mode!

GEN-MODE: Not supported for type: navigation! Ignores the cell (i.e. skips the cell).

Parameters:
table (in) table - name
test (in) test - name (column)
timeout (in) (optional) - sometimes menues aren't reaady when WR thinks they are; use the <timeout> to force the function menu_wait_info( object, "enabled", timeout ) to be called before the actual menu_select_item() is invoked.
Returns: E_OK: operation successful !E_OK: operation failed

FRM_obj_type

public int FRM_obj_type(in table, in test, in object, in suffix, in force_suffix)
A standard "wrapper" for obj_type() function. The function performs a obj_type() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing value to be typed or checked.

SET-MODE: The function uses the value from the data table as a second parameter to the obj_type() function.

CHK-MODE: The function compares the value from the data table with the value returned by obj_get_text(). Please note that comparison is case-sensitive.

GEN-MODE: Uses obj_get_text() to retrieve the content of the <object>. Note that that no conversion takes place before generating the test data.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
suffix (in) (optional) - as string which ia automatically appended to any value.
force_suffix (in)(optional) - set this to TRUE if you want the <suffix> to be typed even if no value present.
Returns: E_OK: operation successful !E_OK: operation failed

FRM_obj_wait_info

public int FRM_obj_wait_info(in table, in test, in object)
We implement here our own equivalent of obj_wait_info(). ... to be described ...

FRM-GUI-TYPE: data-entry (read)

TEST DATA FORMAT: String containing formated value ... to be described ...

SET-MODE: The function uses the value from the data table as a second parameter to the obj_wait_info() function.

CHK-MODE: the same as in SET mode

GEN-MODE: Uses obj_get_text() to retrieve the content of the <object>. Note that that no conversion takes place before generating the test data.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_radio_button_set

public int FRM_radio_button_set(in table, in test, inout[] objArr)
Convenience function for a group of related radio buttons. A special-purpose "wrapper" for button_set() function. The function accepts a vector (one-dimensional array) containing names of the radio buttons (GUI map) indexed by some keyword. The keywords are used in data tables to identify particular button and can differ from the actual object name. In this way one can address multiple radio buttons (one at a time) with one data cell.

FRM-GUI-TYPE: data-entry (read/write)

TEST DATA FORMAT: String containing the keyword which identifies the particular radio button.

SET-MODE: The function reads the keyword from the data table. It then tries to set the button indexed by the particular keyword.

CHK-MODE: The function reads the keyword from the data table. It then checks whether the button indexed by the particular keyword is set.

GEN-MODE: The function scans the <objArr> in a random sequence and checks if the particular object (radio button) is set. If yes, then the corresponding keyword is generated as test data. Object that do not exist are silently ignored.

Parameters:
table (in) table - name
test (in) test - name (column)
objArr[] (inout) - a vector containing logical GUI object names indexed by the keyword. NOTE: make sure to specify keywords in lowercase!!!
Returns: E_OK: operation successful !E_OK: operation failed

FRM_set_case_sensitive

public int FRM_set_case_sensitive(in m)
Sets a generic indicator wheter to perform case-sensitive comparison or not. Functions that perform this kind of comparison are responsible to use this indicator.
Parameters:
m (in) mode, - TRUE or FALSE [default: TRUE]

FRM_static_get

public int FRM_static_get(in table, in test, in object)
A standard "wrapper" for static_get_text() function. The function performs a static_get_text() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: data-entry (read)

TEST DATA FORMAT: String containing value to be checked (SET is not supported for static texts).

SET-MODE: Performs the same as in CHK mode.

CHK-MODE: The function uses the value from the data table as a second parameter to static_check_text() function.

GEN-MODE: Uses static_get_text() to retrieve the content of the edit object. Note that an empty string is converted to "<<clear>>" as generated test data.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_tab_select_item

public int FRM_tab_select_item(in table, in test, in object)
A standard "wrapper" for tab_select_item() function. The function performs a tab_select_item() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: navigation (read-only, can be generated)

TEST DATA FORMAT: String containing logical name or the index (e.g. #1) of the tab to be selected.

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native tab_select_item() function.

CHK-MODE: Not supported for type: navigation! One could check whether a tab is selected. In practice however this is not as much used and in FRM concept soon becomes irritating. For this reason we have implemnted this function as type navigation which means that checking is not supported (although we do have the code for it). Behaves the same as the SET-mode!

GEN-MODE: Supported although type: navigation! We have found it practical to generate the tab name/index although we ignore it in CHK mode.

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_toolbar_button_press

public int FRM_toolbar_button_press(in table, in test, in object)
A standard "wrapper" for toolbar_button_press() function. The function performs a toolbar_button_press() on a specified <object> using the value from the data table.

FRM-GUI-TYPE: navigation (read-only)

TEST DATA FORMAT: String containing either the logical name of the toolbar button or the index (e.g. #1).

SET-MODE: The function reads the value from the data table and uses it as a parameter to a native toolbar_button_press() function.

CHK-MODE: Not supported for type: navigation! There is nothing to be checked with toolbar_button_press(). Behaves the same as the SET-mode!

GEN-MODE: Not supported for type: navigation! Ignores the cell (i.e. skips the cell).

Parameters:
table (in) table - name
test (in) test - name (column)
object (in) GUI-object - where actions are to be performed
Returns: E_OK: operation successful !E_OK: operation failed

FRM_win_type

public int FRM_win_type(in table, in test, in window, in suffix, in force_suffix)
A standard "wrapper" for win_type() function. The function performs a win_type() on a specified <window> using the value from the data table.

FRM-GUI-TYPE: navigation (read-only)

TEST DATA FORMAT: String containing value to be typed.

SET-MODE: The function uses the value from the data table as a second parameter to the win_type() function.

CHK-MODE: Not supported for type: navigation! We could retrieve some text from the window and compare it. In practice is this rather useless because there is either too much or no text all. For testing win_type() is normally only useful to check keyboard navigation or when you have no other chance (e.g. DOS applications). In the second case you would use the SET mode to completely drive the application (i.e. navigate and enter date) but you could hardly be able to check anything. There is some chance if font is known, so you could try with win_get_text() and the like. Behaves the same as the SET-mode!

GEN-MODE: Not supported for type: navigation! Ignores the cell (i.e. skips the cell).

Parameters:
table (in) table - name
test (in) test - name (column)
window (in) GUI-window - where actions are to be performed
suffix (in) (optional) - as string which ia automatically appended to any value.
force_suffix (in) (optional) - set this to TRUE if you want the <suffix> to be typed even if no value present.
Returns: E_OK: operation successful !E_OK: operation failed