Version 8.0.2 |
A common problem for most complex systems is the treatment of characters with a special meaning. A typical example are blanks in filenames. To specify such filenames on the command line, they need to be protected either by using double quotes or by escaping the blanks with a backslash character ('\').
Since QF-Test makes use of special characters in various contexts while reading arbitrary strings from the SUT that may contain any character, some kind of quoting mechanism is unavoidable. That QF-Test runs on various operating systems and makes use of regular expressions which have their own set of special characters doesn't make things any easier. However, QF-Test attempts to keep things as simple as possible by restricting quoting to the places where it can't be avoided and by quoting all strings read from the SUT during recording correctly.
The most prominent special character for QF-Test is the '$' sign used for variable expansion. Variable syntax is applicable in almost all attributes. If you need a literal '$' character in an attribute value you have to double it.
Example: To verify with a 'Check text' node that a text field contains the string "4 US$", set the 'Text' attribute to "4 US$$".
Other special characters are used only in a few places and must be quoted only there. These are the '#' character used for 'Procedure' and 'Component' access across suites and the characters '@', '&' and '%' for the special syntax for sub-item access. Since these are used as separators they cannot be escaped by doubling them, so QF-Test follows the convention to use the backslash '\' as escape character which turns the backslash itself into another special character. To avoid quoting-hell with Windows filenames, QF-Test only uses quoting where the above characters are used and even there a single backslash that is not followed by a special character is interpreted literally.
To be precise, you have to escape the characters '#' and '\' in the 'Procedure name' attribute of a 'Procedure call' and the characters '#', '\', '@', '&' and '%' in the attributes 'QF-Test component ID' of events and checks as well as the 'Primary index' and 'Secondary index' of an 'Item'. Remember that the backslash is also used as the escape character for regular expressions, so to get a literal '\' into a regexp for a sub-item, you first need to escape it for the regexp itself, i.e. "\\", then escape these for QF-Test leading to "\\\\".
There is one more special case that requires a special character and
corresponding quoting. This is the '/' character used as separator
for tree path sub-items of a JTree
component. Thus the
'/' must be quoted if and only if you need a literal / in a sub-item
of a JTree
component. Sub-items of other components
don't require special handling.
Last update: 12/4/2024 Copyright © 1999-2024 Quality First Software GmbH |
1. Functional cookies
We use functional cookies to ensure the basic functionality of the website.
2. Performance and statistic cookies
We use Matomo for analyzing and optimizing our website. Cookies permit an anonymous collection of information that help us offering you a clear and user-friendly visit of our web pages.
This cookie contains a unique, pseudonymized visitor ID internal to Matomo for recognizing returning visitors.
This cookie is used to track from which website the anonymized user proceeded to our website.
The Matomo session cookie is used to track the visitor's page requests during the session.
is created and should be then directly deleted (used to check whether the visitor’s browser supports cookies).
short lived cookies used to temporarily store data for the visit.
short lived cookies used to temporarily store data for the visit.