This section may be difficult to understand
when you are a programming beginner. Then it may be better to
come back to it when you started writing procedures for your own tests.
In QF-Test there are many places where you can set a variable:
The test suite node,
in test cases and procedures as default or local variables,
as a parameter in a procedure call,
as a global variable and
as a command line parameter.
Now the question is: Which is the correct place for defining a variable?
And the answer is: It depends on the use case.
Each level of the variable bindings has its own use case:
- Procedure parameters
When you call the same procedure several times in a test case and with different
values each time you should set the values via a parameter at a procedure call.
This is done by adding a row to the variable definitions table of a 'Procedure call' node
specifying the respective variable name and value.
- Local variables in a procedure
They are created in the
procedure and are deleted when the execution of the procedure finishes.
Use a local variable when you do not need it outside of the current
procedure. In procedures they are predestined for intermediate results.
- Local variables in a test case
Variables local to a test case are either created during execution of a test case or
defined in the respective table in the details of the test case node. They will be
deleted from the variable bindings table once the
test case finishes.
Use them for values you want to refer to in several nodes of a test case and you
do not need outside of it.
- Global variables
Global variables are created at some point of the test execution and exist
until they are explicitly deleted or QF-Test is stopped.
They survive stops and restarts of test execution.
Use them for values that need to be accessible by all test cases. A typical
example is the variable
client created in the 'Setup' node when
starting the application.
To get rid of them you need to either
exit QF-Test or select the menu item »Run«-»Clear global variables«.
- Command line parameters
In batch mode you may want to run test with various parameters. They are
valid throughout the batch run. A typical example would be the browser to be used.
- Test-suite variables
test suite variables can be referred to by all test cases. Their usage is the
same as that of global variables. Only that they
can be overridden at batch execution by command line parameters, whereas
global variables cannot.
- Default values (Fallback stack)
You can define default values for variables of procedures, test cases and
test sets. In case you do not define a variable of the same name on a higher
level QF-Test will use the default value set.