Version 8.0.1 |
This section lists the remaining nodes that don't fit in well with any of the other sections.
This node is thought for documentation purpose. It allows you to add a comment to your test suite. |
Contained in: Everywhere
Children: None
Execution: A comment node does not affect execution.
Attributes:
Figure 41.71: 'Comment' attributes |
The string that should get displayed in the tree, a summary of the comment or the comment itself.
This attribute allows to use the following HTML-Tags <i>italic Text</i>, <u>underlined text</u>, <s>stroke text</s> and <b>bold text</b> in order to beautify the representation in the tree. Furthermore it is possible to specify a text color via a style="color:colorname" or the color="colorname" attribute (also in combination with the <span>, <em>, <strong> or <font>tag).
Variable: Yes
Restrictions: Must not be empty.
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
With the 'Error' node you can write an error to the run log. Use the attributes to specify the information to be written to the run log.
The node can replace scripts containing only
|
Contained in: All kinds of sequences.
Children: None
Execution: The 'Error' node writes an error to the run log.
Attributes:
Figure 41.72: 'Error' attributes |
The message text. In the tree node long texts will be truncated.
Variable: Yes
Restrictions: None
When selected, further information concerning each client process will be written to the run log.
Variable: Yes
Restrictions: None
If active, the message is also written to the QF-Test Terminal.
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots to the run-log of the whole monitor(s) attached, taking into account the setting of the option Limit screenshots to relevant screens relevant to security and data protection. The default setting of the option only allows screenshots of monitors where either a window of QF-Test or the tested application is showing. By default, in batch mode (no QF-Test GUI) no screenshot will be logged when no SUT window is showing.
| |||||||||||||
Table 41.27: Settings for "Create Screenshots" |
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots of all client windows to the run-log, even if they may be hidden by other windows.
| |||||||||||||
Table 41.28: Settings for "Create Client Screenshots" |
Variable: Yes
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
With the 'Warning' node you can write a warning to the run log. Use the attributes to specify the information to be written to the run log.
The node can replace scripts containing only
|
Contained in: All kinds of sequences.
Children: None
Execution: The 'Warning' node writes a warning to the run log.
Attributes:
Figure 41.73: 'Warning' attributes |
The message text. In the tree node long texts will be truncated.
Variable: Yes
Restrictions: None
When this option has been selected, the node will be written to the report.
Variable: Yes
Restrictions: None
When selected, further information concerning each client process will be written to the run log.
Variable: Yes
Restrictions: None
If active, the message is also written to the QF-Test Terminal.
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots to the run-log of the whole monitor(s) attached, taking into account the setting of the option Limit screenshots to relevant screens relevant to security and data protection. The default setting of the option only allows screenshots of monitors where either a window of QF-Test or the tested application is showing. By default, in batch mode (no QF-Test GUI) no screenshot will be logged when no SUT window is showing.
| |||||||||||||
Table 41.29: Settings for "Create Screenshots" |
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots of all client windows to the run-log, even if they may be hidden by other windows.
| |||||||||||||
Table 41.30: Settings for "Create Client Screenshots" |
Variable: Yes
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
With the 'Message' node you can write a message to the run log. Use the attributes to specify the information to be written to the run log.
The node can replace scripts containing only
|
Contained in: All kinds of sequences.
Children: None
Execution: The 'Message' step writes a message to the run log.
Attributes:
Figure 41.74: 'Message' attributes |
The message text. In the tree node long texts will be truncated.
Variable: Yes
Restrictions: None
The option is only relevant when the option Create compact run log has been set to compact run logs. In that case activate the option keep the node in the run log.
Variable: Yes
Restrictions: None
When selected, the node will be written to the report.
Variable: Yes
Restrictions: None
When selected, further information concerning each client process will be written to the run log.
Variable: Yes
Restrictions: None
If active, the message is also written to the QF-Test Terminal.
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots to the run-log of the whole monitor(s) attached, taking into account the setting of the option Limit screenshots to relevant screens relevant to security and data protection. The default setting of the option only allows screenshots of monitors where either a window of QF-Test or the tested application is showing. By default, in batch mode (no QF-Test GUI) no screenshot will be logged when no SUT window is showing.
| |||||||||||||
Table 41.31: Settings for "Create Screenshots" |
Variable: Yes
Restrictions: None
The attribute indicates whether QF-Test should log screenshots of all client windows to the run-log, even if they may be hidden by other windows.
| |||||||||||||
Table 41.32: Settings for "Create Client Screenshots" |
Variable: Yes
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node lets you set the value of a global variable. If the test is run interactively from QF-Test and not in batch mode (see section 1.7) you can optionally set the value interactively. |
Contained in: All kinds of sequences.
Children: None
Execution: If the test is run interactively and the 'Interactive' attribute is set, a dialog is shown in which the value for the variable can be entered. If the 'Timeout' is exceeded or the value is confirmed with the OK button, the variable is bound accordingly in the global variables. If the dialog is canceled, the test run is stopped. In the non-interactive case the variable is bound directly to the 'Default value'.
Attributes:
Figure 41.75: 'Set variable' attributes |
The name of the global variable to which the value is assigned (see chapter 6).
Variable: Yes
Restrictions: Must not be empty.
This flag determines whether to create a local or global variable binding. If unset, the variable is bound in the global variables. If set, the topmost current binding for the variable is replaced with the new value, provided this binding is within the context of the currently executing 'Procedure', 'Dependency' or 'Test case' node. If no such binding exists, a new binding is created in the currently executing 'Procedure', 'Dependency' or 'Test case' node or, if there is no such node in the topmost node on the variables stack, falling back to the global bindings if necessary. See chapter 6 for a detailed explanation of variable binding and lookup.
In order to predefine the option use Enable 'Local variable' attribute by default.
Variable: No
Restrictions: None
The default value for the variable if the test is run non-interactively, the 'Interactive' attribute is not set or the 'Timeout' is exceeded.
Variable: Yes
Restrictions: None
Whether a dialog should be shown in which the value for the global variable can be entered. Ignored if the test is run non-interactively.
Variable: Yes
Restrictions: None
A short description to display in the dialog. If you leave this
value empty, the description Value for
<'Variable name'>
will be used.
Variable: Yes
Restrictions: None
An optional timeout value for the dialog. If the dialog is shown and the value is left unchanged for the specified period of time, the dialog is closed automatically and the default value is used. This avoids blocking a test that is started interactively from QF-Test and then left to run unattended.
Variable: Yes
Restrictions: Empty or > 0.
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node is very important for the timing of a test run. The
reaction time of the SUT varies depending on system and memory
load, so it may take a while until, say, a complex dialog is
opened. This node will delay further execution of the test until
the desired component or sub-item is available. If the time limit
is exceeded without success, a This node is intended only for relatively long delays. Short delays are handled automatically by the Timeout options. By setting the 'Wait for absence' attribute this node can also be used to ensure the absence of a component. |
Contained in: All kinds of sequences.
Children: None
Execution:
The data of the target component are sent to the SUT. The
TestEventQueue
waits until either the corresponding component
becomes available or the time limit is exceeded.
Attributes:
Figure 41.76: 'Wait for component to appear' attributes |
The name of the Java process in which to wait.
Variable: Yes
Restrictions: Must not be empty.
The 'QF-Test ID' of the 'Window', 'Component' or 'Item' to wait for.
The "Select component" button brings up a dialog in which you can select the component interactively. You can also get to this dialog by pressing [Shift-Return] or [Alt-Return], when the focus is in the text field. As an alternative you can copy the target node with [Ctrl-C] or »Edit«-»Copy« and insert its QF-Test component ID into the text field by pressing [Ctrl-V].
This attribute supports a special format for referencing components in other test suites (see section 25.1). Furthermore, sub-elements of nodes can be addressed directly without requiring separate nodes for them (see section 5.9). When using SmartIDs, you can address a GUI element directly via its recognition criteria. For more information, refer to SmartID and 'Component' nodes versus SmartID.
Variable: Yes
Restrictions: Must not be empty.
Time limit in milliseconds.
Variable: Yes
Restrictions: >= 0
If this attribute is set, QF-Test waits for the absence of a component or a sub-item. This is useful e.g.
to ensure that a dialog has been closed or was never opened in the first place. If the component or
sub-item remains visible for the whole time, a ComponentFoundException
is thrown.
Variable: Yes
Restrictions: None
This optional attribute determines the name for the result variable of the action. If set, the respective variable will be set to 'true' for a successful check or wait and to 'false' in case of failure.
Note If this attribute is set, the attribute 'Error level of message' is ignored and no error is reported. The attribute 'Throw exception on failure' always remains effective, so it is possible to set a result variable and still throw an exception.
Variable: Yes
Restrictions: None
This flag determines whether to create a local or global variable binding. If unset, the variable is bound in the global variables. If set, the topmost current binding for the variable is replaced with the new value, provided this binding is within the context of the currently executing 'Procedure', 'Dependency' or 'Test case' node. If no such binding exists, a new binding is created in the currently executing 'Procedure', 'Dependency' or 'Test case' node or, if there is no such node in the topmost node on the variables stack, falling back to the global bindings if necessary. See chapter 6 for a detailed explanation of variable binding and lookup.
In order to predefine the option use Enable 'Local variable' attribute by default.
Variable: No
Restrictions: None
This attribute determines the error level of the message that is logged in case of failure. Possible choices are message, warning and error.
Note If the attribute 'Throw exception on failure' is set, this attribute is irrelevant and if 'Variable for result' is set this attribute is ignored.
Variable: No
Restrictions: None
Throw an exception in case of failure.
For 'Check...' nodes a CheckFailedException
is thrown,
for 'Wait for...' nodes the respective specific exception.
Variable: No
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
Web This node is a variant of the 'Wait for component to appear' node specifically for web pages. It not only checks the existence of a given document. If the target document was already known to exist the last time an event was replayed, this node waits for the document to get reloaded. When working with web pages it is often the case that the same or very similar documents are loaded many times. Without this node's functionality QF-Test could not discern the case where the old document is still around from the one where the document is already reloaded. In the former case, replaying an event could cause it to have no effect at all because at the same time reloading of the document begins.
The 'Name of the browser window' attribute can be used to limit the search to a given browser
window or to define a name for a new window. If 'Stop loading if timeout exceeded' is set, QF-Test will
abort loading the document if it doesn't finish in time. You can also use the
'Variable for result' attribute to store the result in a variable and the 'Throw exception on failure'
attribute to suppress the |
Contained in: All kinds of sequences.
Children: None
Execution:
The data of the target document are sent to the SUT. The
TestEventQueue
waits until corresponding document gets loaded
or the time limit is exceeded in which case a DocumentNotLoadedException
is thrown.
Attributes:
Figure 41.77: 'Wait for document to load' attributes |
The name of the SUT client process from which to query the data.
Variable: Yes
Restrictions: Must not be empty.
The 'QF-Test ID' of the 'Window', 'Component' or 'Item' node that is to be queried.
The "Select component" button brings up a dialog in which you can select the component interactively. You can also get to this dialog by pressing [Shift-Return] or [Alt-Return], when the focus is in the text field. As an alternative you can copy the target node with [Ctrl-C] or »Edit«-»Copy« and insert its QF-Test component ID into the text field by pressing [Ctrl-V].
This attribute supports a special format for referencing components in other test suites (see section 25.1). Furthermore, sub-elements of nodes can be addressed directly without requiring separate nodes for them (see section 5.9). When using SmartIDs, you can address a GUI element directly via its recognition criteria. For more information, refer to SmartID and 'Component' nodes versus SmartID.
Variable: Yes
Restrictions: Must not be empty.
This attribute has a dual use. If set to an existing name for a browser window, QF-Test waits for the document to load in that window. If the name is set but no browser window by that name exists, the search is limited to documents in new or not-yet-named windows. If the wait succeeds and a new document is loaded, the window name is assigned to the document's browser window. This is the only way to define a name for a popup window. Explicitly launched browsers can have their name set via the 'Name of the browser window' attribute of a 'Open browser window' node. You find a brief description how to handle multiple browser windows in FAQ 25.
Variable: Yes
Restrictions: None
Time limit in milliseconds.
Variable: Yes
Restrictions: >= 0
If this attribute is set and the timeout is exceeded without a matching document finishing to load, QF-Test will cause loading to stop, either in all browsers or, if 'Name of the browser window' is set, the browser window specified therein. Result and exception handling are not affected by this attribute. If the timeout is exceeded the operation is considered a failure regardless of whether loading is stopped or not.
Variable: Yes
Restrictions: None
This optional attribute determines the name for the result variable of the action. If set, the respective variable will be set to 'true' for a successful check or wait and to 'false' in case of failure.
Note If this attribute is set, the attribute 'Error level of message' is ignored and no error is reported. The attribute 'Throw exception on failure' always remains effective, so it is possible to set a result variable and still throw an exception.
Variable: Yes
Restrictions: None
This flag determines whether to create a local or global variable binding. If unset, the variable is bound in the global variables. If set, the topmost current binding for the variable is replaced with the new value, provided this binding is within the context of the currently executing 'Procedure', 'Dependency' or 'Test case' node. If no such binding exists, a new binding is created in the currently executing 'Procedure', 'Dependency' or 'Test case' node or, if there is no such node in the topmost node on the variables stack, falling back to the global bindings if necessary. See chapter 6 for a detailed explanation of variable binding and lookup.
In order to predefine the option use Enable 'Local variable' attribute by default.
Variable: No
Restrictions: None
This attribute determines the error level of the message that is logged in case of failure. Possible choices are message, warning and error.
Note If the attribute 'Throw exception on failure' is set, this attribute is irrelevant and if 'Variable for result' is set this attribute is ignored.
Variable: No
Restrictions: None
Throw an exception in case of failure.
For 'Check...' nodes a CheckFailedException
is thrown,
for 'Wait for...' nodes the respective specific exception.
Variable: No
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
Contained in: All kinds of sequences.
Children: None
Execution:
The target file identifying the download is sent to the SUT where QF-Test waits for the
download to finish or the time limit is exceeded in which case a
DownloadNotCompleteException
is thrown.
Attributes:
Figure 41.78: 'Wait for download to finish' attributes |
The name of the SUT client process from which to query the data.
Variable: Yes
Restrictions: Must not be empty.
The target file for the downloaded.
Variable: Yes
Restrictions: Valid file name
Time limit in milliseconds.
Variable: Yes
Restrictions: >= 0
If this attribute is set and the timeout is exceeded without the download finishing the download is canceled.
Variable: Yes
Restrictions: None
This optional attribute determines the name for the result variable of the action. If set, the respective variable will be set to 'true' for a successful check or wait and to 'false' in case of failure.
Note If this attribute is set, the attribute 'Error level of message' is ignored and no error is reported. The attribute 'Throw exception on failure' always remains effective, so it is possible to set a result variable and still throw an exception.
Variable: Yes
Restrictions: None
This flag determines whether to create a local or global variable binding. If unset, the variable is bound in the global variables. If set, the topmost current binding for the variable is replaced with the new value, provided this binding is within the context of the currently executing 'Procedure', 'Dependency' or 'Test case' node. If no such binding exists, a new binding is created in the currently executing 'Procedure', 'Dependency' or 'Test case' node or, if there is no such node in the topmost node on the variables stack, falling back to the global bindings if necessary. See chapter 6 for a detailed explanation of variable binding and lookup.
In order to predefine the option use Enable 'Local variable' attribute by default.
Variable: No
Restrictions: None
This attribute determines the error level of the message that is logged in case of failure. Possible choices are message, warning and error.
Note If the attribute 'Throw exception on failure' is set, this attribute is irrelevant and if 'Variable for result' is set this attribute is ignored.
Variable: No
Restrictions: None
Throw an exception in case of failure.
For 'Check...' nodes a CheckFailedException
is thrown,
for 'Wait for...' nodes the respective specific exception.
Variable: No
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node is used to load a |
Contained in: All kinds of sequences.
Children: None
Execution:
The ResourceBundle
is loaded and its values are made
available under the 'Group' name.
Attributes:
Figure 41.79: 'Load resources' attributes |
The name of the group by which values of the
ResourceBundle
are referred to.
The value of a definition of the form
name=value
in the ResouceBundle
can be retrieved with
${group:name}
(see section 6.6).
Variable: Yes
Restrictions: Must not be empty and should not contain special characters like ':' or '$'.
The name of the ResourceBundle
to load.
A little Java background is needed to understand this
attribute.
The resources are read with the help of the Java method
ResourceBundle.getBundle()
. For this to work, a
matching file with the extension .class
or
.properties
must be located somewhere on the
class path. Use the fully qualified name for the
file, including packages, with a dot ('.') as separator, but
without extension or locale identifier.
Example: QF-Test comes with a German
ResourceBundle
in the file
de/qfs/apps/qftest/resources/properties/qftest_de.properties
,
which is contained in the archive qfshared.jar
.
To load that ResourceBundle
, set this attribute to
de.qfs.apps.qftest.resources.properties.qftest
and
the 'Locale' to de
.
Variable: Yes
Restrictions:
Must name a ResourceBundle
on the Java class path.
The main use of ResourceBundles
is to provide data
in different languages. This attribute determines, which version
of a ResourceBundle
is retrieved. The value must
follow the ISO standard
language_country_variant
. Language
is a two letter lowercase code like en
for English,
country a two letter uppercase code like
US
for American or UK
for British
English. The variant discriminates further but is rarely
used.
As mentioned, QF-Test relies on the Java method
ResourceBundle.getBundle()
to load the
ResourceBundle
, which is described in detail in the
Java documentation and works as follows:
To load a ResourceBundle
named res
for
the locale en_US
, Java first searches the
class path for a file named
res_en_US.class
or
res_en_US.properties
, then for
res_en.class
or res_en.properties
and
finally for res.class
and
res.properties
. The less specific files are loaded
even if more specific files are found, but only values not
defined in the more specific files are used. That way you can
define all English resources in res_en.properties
and place only those that differ in
res_en_UK.properties
and
res_en_US.properties
.
Unfortunately Java has a "feature" that can lead to surprising
results. If no specific file but only the base file
res.properties
is found,
Java tries the whole process a second time, this time for the
current default locale of the VM. As a result, if the
current locale for QF-Test is German and you want to load
English resources that are defined in
res.properties
and no
res_en.properties
exists, Java will load the
German version from
res_de.properties
, even if you request the locale
en
. You can work around this be setting this
attribute to the underscore '_'. In that case, only the base
file res.properties
is loaded.
To use the current locale of the VM, leave this value empty.
Variable: Yes
Restrictions: Empty or valid locale identifier.
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node is used to load data from a
|
Contained in: All kinds of sequences.
Children: None
Execution:
The Properties
file is loaded and its values are made
available under the 'Group' name.
Attributes:
Figure 41.80: 'Load properties' attributes |
The name of the group by which values of the
Properties
file are referred to.
The value of a definition of the form
name=value
in the Properties
file
can be retrieved with
${group:name}
(see section 6.6).
Variable: Yes
Restrictions: Must not be empty and should not contain special characters like ':' or '$'.
The file to load the Properties
from. This can
either be an absolute path name or a path relative to the
directory of the current suite. In either case you should always
use '/' as the separator for directories, even under Windows.
QF-Test will translate this to the correct value for the
current operating system.
The "..." button brings up a dialog in which you can select the file interactively. You can also get to this dialog by pressing [Shift-Return] or [Alt-Return], when the focus is in the text field.
Variable: Yes
Restrictions: Must be an existing Properties
file.
Up to Java 8 the class java.util.Properties
enforced a file encoding of ISO-Latin-1 for
properties files. In Java 9 the default encoding is UTF-8. QF-Test supports both and uses the UTF-8
encoding if this attribute is activated and ISO-Latin-1 otherwise.
Variable: Yes
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node is used to execute JUnit tests.
|
Contained in: All kinds of sequences.
Children: None
Execution: The required resources and injections are loaded and the test classes are executed step by step.
Attributes:
Figure 41.81: 'Unit test' server attributes |
Figure 41.82: 'Unit test' client attributes |
Whether to execute the unit tests inside the SUT. If disabled a execution environment is setup for the tests.
Variable: No
Restrictions: None
The name of the SUT client process in which to execute the script.
Variable: Yes
Restrictions: Must not be empty.
The source for the JUnit tests. This can either be an SUT script or Java classes that are loaded into the SUT.
The script to execute.
Note You may use QF-Test variables of the syntax $(var) or ${group:name}
in Jython scripts. They will be expanded before the script is passed
to the Jython interpreter. This can lead to unexpected behavior.
rc.lookup(...)
is the
preferred method in this case (see subsection 11.2.3.1 for
details).
Note In spite of syntax highlighting and automatical indentation this attribute might not be the right place to write complex scripts. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which scripts can be edited conveniently by pressing [Alt-Return] or by clicking the button. Complex scripts can also be written as separate modules which can then be imported for use in this attribute. See chapter 49 for details.
Variable: Yes
Restrictions: Valid syntax
This dropdown menu contains a list of useful template scripts. The available templates will differ depending on the chosen script type and interpreter.
When you choose one of these templates, the current contents of your script will be replaced.
You can add your own templates to this menu by choosing "Open user templates directory" and placing your template files there. The following file types are valid:
This attribute determines the interpreter in which to run the script, or in other words, the scripting language to use. Possible values are "Jython", "Groovy" and "JavaScript".
Variable: No
Restrictions: None
These are the classes that are executed. They have to be loaded with the defined classpath. They are executed as test steps.
Instead of address the classes by their full name regular expressions can be used.
Test classes can be found if they contain a JUnit 4 Test annotation,
if they extend the JUnit 3 unit.org.TestCase
or if they contain a RunWith annotation.
You can use one of the following regular expressions:
| |||||||||||
Table 41.33: Possible regular expressions |
NoteDuring the search of the test classes all classes in the given directory are loaded.
The statement **.*
loads all classes in the classpath and their static initializers.
So this should be used carefully.
Variable: Yes
Restrictions: The class has to be loaded.
Files and folders to load for the execution of the Unit Test.
Variable: Yes
Restrictions: The path has to be valid.
Injections enable working with Objects from QF-Test inside the tests.
| |||||||||||
Table 41.34: Injection types |
Note The value of 'field' can be left empty.
In this case the default value instance
is used.
Variable: Yes
Restrictions: Object has to be available.
The GUI engine in which to execute the unit test. Only relevant for SUTs with more than one GUI engine as described in chapter 44.
Variable: Yes
Restrictions: See chapter 44
The name of a Unit test is a kind of short description. It is displayed in the tree view, so it should be concise and say something about the function of the script.
Variable: No
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
This node is used to install or update the 'CustomWebResolver'.
The configuration of the 'Install CustomWebResolver' node is described in detail in
The |
Contained in: All kinds of sequences.
Children:'Dependency', 'SUT scripts', 'Procedure call' and 'Comment'.
Execution:
The 'CustomWebResolver' is installed or updated according to the given configuration.
Afterwards, all contained child nodes are executed one by one.
In the context of the 'Install CustomWebResolver' node, the variables
$(client)
and $(guiengine)
are set to the values of the attributes 'Client' and 'GUI engine'.
If the 'Install CustomWebResolver' node contains a 'Setup' node, it will be executed before the configuration is applied. Execution of a contained 'Cleanup' node will be delayed until uninstallation of the 'CustomWebResolver'.
Attributes:
Figure 41.83: 'Install CustomWebResolver' attributes |
The name of the SUT client process in which to execute the 'CustomWebResolver'.
Variable: Yes
Restrictions: Must not be empty.
The configuration instructions for the 'CustomWebResolver'. These are described in subsection 50.1.2. The YAML syntax described there must be followed.
Figure 41.84: 'CustomWebResolver' configuration template actions |
If the syntax is known, the YAML configuration can be edited directly. In case of an invalid configuration, corresponding error dialogs are displayed during execution or reformatting.
Variable: Yes
Restrictions: Valid syntax
This menu serves to simplify editing of the YAML configuration. Depending on the position in the document, it will offer different actions.
It can also be invoked at any time in the YAML editor via [Ctrl-Space].
Among others, the following actions can be available:
| |||||||||||||||||||||||
Table 41.35: Actions of the edit menu |
Figure 41.85: 'CustomWebResolver' edit menu |
More information about the possiblities of the configuration syntax can be found in subsection 50.1.2.
Clicking this button opens a list of available configuration categories. When you select an entry, an entry is created in the appropriate category. You then can replace any placeholders with the desired values.
Clicking on this button opens a list from which you can create a new mapping for the respective generic class. You can read about the properties assigned to each class in Generic classes.
Clicking this button opens a list from which you can select a
template for one of the resolvers described in
The resolvers
module. The template is created
as a separate 'SUT script' node in the 'CustomWebResolver' node.
If the text cursor is on a mapping in genericClasses
,
the resolver will be registered for the respective generic class.
Clicking this button opens the UI inspector, see UI Inspector.
You should use the UI inspector to check your application for characteristics suitable for 'CustomWebResolver' mappings, and to check the effect of the 'CustomWebResolver' on the component structure of your application.
This button is available only when a web client is active.
When clicking this button, the existing YAML code is reformatted as compactly as possible according to the syntax described in subsection 50.1.2. This can also be used to detect syntax errors.
This action is also performed implicitly every time the configuration is modified e.g. through the edit menu.
If this attribute is set, then when the node is executed,
the currently installed 'CustomWebResolver' is not replaced by a new one,
but the assignments of the installed 'CustomWebResolver' are supplemented
by the values specified in this node. If no 'CustomWebResolver' was installed,
then a TestException
is raised.
Variable: Yes
Restrictions: None
The GUI engine in which the 'CustomWebResolver' is to be installed or updated. Only relevant for SUTs with more than one GUI engine as described in chapter 44.
Variable: Yes
Restrictions: See chapter 44
The name is a kind of short description. It is displayed in the tree view, so it should be concise and say something about the function of the node.
Variable: No
Restrictions: None
At the moment the 'QF-Test ID' attribute has no meaning for this type of node.
Variable: No
Restrictions: Must not contain any of the characters '\', '#', '$', '@', '&', or '%' or start with an underscore ('_').
These attributes cause a delay before or after the execution of the node. If a value is empty, the Default delay from the global options is used.
Variable: Yes
Restrictions: Valid number >= 0
Here you can enter a comment that explains the purpose of this node. This is the preferred way of documenting the test suite.
Note For detailed documentation, especially for 'Test set', 'Test case' or 'Procedure' nodes, this text area might not be the right place. There are many excellent editors that are much better suited to this task. The option External editor command lets you define an external editor in which comments can be edited conveniently by pressing [Alt-Return] or by clicking the button.
You can trigger special behaviors of some nodes using doctags, please see Doctags.
If you enter text in the comment field of a 'Component' node, the node will be considered as 'used' when you want to mark or delete unused components.
Variable: Yes
Restrictions: None
Last update: 9/10/2024 Copyright © 1999-2024 Quality First Software GmbH |