################################################################################ # LIBRARY: drv1_lib ################################################################################ # $Revision: 1.4 $ # $Author: drajovic $ # $Date: 2005/01/23 19:31:51 $ # $Source: C:/Archive/FRAMEWORK/EMOS_GPL/FRM/TPL/Scripts/DRV/drv1_lib/script,v $ # $NoKeywords: $ ################################################################################ #/*** #* This main test implements a "dummy" step driver which you may use to #* implement the real one. #* #* The purpose of a step driver is to interpret the corresponding "Teststep" #* cell of each test case. With "interpreting" we mean the process of splitting #* the cell (Teststep) into individual steps and individually processing #* each of them either by a built-in FRM functionality (e.g. LNK or EXE steps) #* or by calling the specialised function. #* #* This "dummy" template implements all the necessary interractions with the #* emos_FRM_STP_lib and very carefully handles the return code in order to #* produce correct WinRunner test results. All you need to do is to load the #* apropriate libraries and handle the individual keywords (step names). #* #* <p>NOTE: #* Do not rename the function names because tey are called from #* the generic EMOS test driver #* #* <p>REQUIREMENTS/PREREQUISITES: #* The rest of the test suite should be developed according to FRM-principles #* in order to make any use of this script. #* #* <p>RETURN VALUE: #* <ul> #* <li><b>0</b>: successfull completion</li> #* <li><b>>0</b>: unsuccessfull comletion</li> #* </ul> #*/ #/** #* Implements the test reporting logic. #*/ public function AUT_DRV_report ( in tid, in test ) { auto comment; report_msg( "=====================" ); report_msg( "Table: " & FRM_get_name( tid ) ); report_msg( "Test: " & test ); if ( FRM_get_cell( tid, test, "Description", comment ) == E_OK ) { wrlog_test_data( "DESCRIPTION", comment ); report_msg( "Description: " & comment ); } report_msg( "=====================" ); return E_OK; } #/** #* Load the necessary LIBs & GUIs here #* <p>NOTE: #* You should use FRM_load_XXX() instead of ordinry load(). #* This way you enable EMOS Framework to manage the libs and automatically #* unload them when they are not needed any more. #*/ public function AUT_DRV_load ( in tid, in test ) { auto rc = E_OK; #rc+=FRM_load_gui( tid, GUI_HOME & "\\" & "???.gui" ); rc+=FRM_load_lib( tid, "LIB/FRM/frm_lib1_lib", 0, 1 ); return rc; } #/** #* Initialises the test steps. #* <p>NOTE: #* Use the third parameter to customise the name of the Testsequence row. #*/ public function AUT_DRV_init_steps( in tid, in test ) { # return FRM_STP_init_steps( tid, test ); # default = Testvorgang return FRM_STP_init_steps( tid, test, "Testsequence" ); } #/** #* Implements the test keywords, i.e. links the names of the test blocks #* with te corresponding block functions. #*/ public function AUT_DRV_call_block( in tid, in test, in step, inout mode ) { auto rc; switch( tolower( step ) ) { case "testblock": rc = FRM_testblock( tid, test, step, mode ); break; # --default steps-- case "not-implemented-yet step": rc = E_FRM_NOT_IMPLEMENTED; break; default: rc = E_FRM_UNKNOWN; } return rc; }