| QAA API |
Subsystem list |
Top level |
See also PRODUCT Recovery and How to Convert Scripts from the Old to the New Recovery System.
RECbase
- abstract base class for all recovery objects
RECchildWin
- simple recovery for QChildWin
RECgroup
- recovery object that contains other recovery objects
RECapplication
- recovery object for an application
RECunwantedWindows
- recovery object that closes unwanted windows
RECquitOnError
- recovery object that terminates the script on errors
RECobject
| recovery object type, for defining variables & arguments |
RECphase
| recovery phase (TestcaseEnter, ScriptExit, etc.) |
RECwindowUid
| unique window identifier |
RECobject
| RECsetActive
| (RECobject)
|
RECobject
| RECgetActive
| ( )
|
void
| RECstubTestcase
| (string sExplanation)
|
void
| RECstubNextTestcase
| (string sExplanation)
|
void
| RECquitOnTestcaseFailure
| (boolean bQuitOnFailure)
|
RECobject grRECinitial;
type RECphase is enum
{ eREC_SCRIPT_ENTER, eREC_TESTCASE_ENTER, eREC_TESTCASE_EXIT, eREC_SCRIPT_EXIT };
RECwindowUid value.If you need or want to know why this data type is necessary, look here.
Only one recovery object can be active at a time.
Typically, the currently active recovery object will be
of class RECgroup,
so that, in effect, many recovery objects can be active at once.
You should specify the initial active recovery object
(for use during ScriptEnter) by defining
grRECinitial.
RECobject RECsetActive (RECobject uNewRecObj);
uNewRecObjReturnsRECobject RECgetActive ( );
ReturnsRECstubNextTestcase instead.This routine raises an exception, which results in the testcase failing, without executing the rest of the testcase.
void RECstubTestcase (string sExplanation);
sExplanation
testcase MyDeadlyTestcase ()
{
RECstubTestcase(); // so we don't lose more executioners
// the body of the testcase
}
RECstubTestcase instead.
void RECstubNextTestcase (string sExplanation);
sExplanation// In this example, the second testcase will not be executed, but the others will.
main ()
{
// do setup
tcMyFirstTestcase();
RECstubNextTestcase(); // because it causes the drive to melt down
tcMySecondTestcase();
tcMyThirdTestcase();
}
void RECquitOnTestcaseFailure (boolean bQuit);
bQuitScriptEnter, as well
as afterward (unless changed by a call to
RECsetActive).
You (the script writer) must define this global variable somewhere in
your script.
If you don't, then no recovery object will be active during
ScriptEnter, nor for any testcases, until one is specified
by a call to RECsetActive.
Changing the value of this variable after ScriptEnter has run will have
no effect. To change the active recovery object at runtime, use
RECsetActive.
RECobject grRECinitial = grMCrecDefault;
main ()
{
// blah, blah ...
}