QTP Action Versus Function

 What are Actions ?

Actions help divide your test into logical units, like the main sections of a Web site, or specific activities that you perform in your application.

There are three kinds of actions:
  1. non-reusable action — an action that can be called only in the test with which it is stored, and can be called only once.
  2. reusable action — an action that can be called multiple times by the test with which it is stored (the local test) as well as by other tests.
  3. external action — a reusable action stored with another test. External actions are read-only in the calling test, but you can choose to use a local, editable copy of the Data Table information for the external action.

Types of Recording Modes
  1. Normal Mode: QuickTest’s normal recording mode records the objects in your application and the operations performed on them.
  2. Analog Mode: Analog recording mode records exact mouse and keyboard operations. The track of the operations recorded are stored in an external data file.
    Note: You cannot edit analog recording steps from within QuickTest.
  3. Low-Level Recording: Supports the following methods for each test object:
    Click, DblClick, Drag, Drop, Type, Activate, Minimize, Restore, Maximize Note: Steps recorded using low-level mode may not run correctly on all objects.

Running Modes
  1. Run - Normal Run, if we don't have any errors or show stopers then we can use this mode
  2. Run From Step - Perticular portion of the scripts we can execute or we can execute specific Action.
  3. Update Run - This can be used to update Object Properties, Check Points Properties and Active Screen images and values.
  4. Debug Run - To Identify the problems we can use the Debug mode. By using Step-In, Step_Out and Step-Over we can identify the problem fastly.

Debug Run
  1. Step Into
    Choose Debug > Step Into, click the Step Into button, or press F11 to run only the current line of the active test or component. If the current line of the active test or component calls another action or a function, the called action/function is displayed in the QuickTest window, and the test or component pauses at the first line of the called action/function.
  2. Step Out
    Choose Debug > Step Out or click the Step Out button, or press SHIFT+F11 only after using Step Into to enter a action or a user-defined function. Step Out runs to the end of the called action or user-defined function, then returns to the calling action and pauses the run session.
  3. Step Over
    Choose Debug > Step Over or click the Step Over button, or press F10 to run only the current step in the active test or component. When the current step calls another action or a user-defined function, the called action or function is executed in its entirety, but the called action script is not displayed in the QuickTest window.

Reusable action are more efficient then vb function, since objects placed in OR reduces memory leak
With a Re-usable Action, others can copy these and any changes made to the object repository of the copied Actions will be rippled to all copies.automatically. That's the coolest thing about Actions that I can
 see.  HP recommends that you create one big test with all of your Actions in it and call that the "Action Repository". From there everyone can copy these and use them in their own Test Flows.  This can't be done with Function Libraries ,because Function Libraries don't have Object Repositories.  You can play with this yourself...just create a test Action Repository with a Login Action, a Query Action, and a Logoff Action. Then create a test that calls copies of these and then test it and change the names of the buttons or Edit boxes in the repository and watch how the new names of the objects are automatically rippled into the copies you made. Now imagine how powerful that can be if you have hundreds of Actions.The theory is that you would not have to change any of the Test Flows that were copied but in only the one place.The Action Repository! That's where the fun stops in my opinion because when you do the "MERGE" to convert the Local Repositories to Shared Repositories, I think here is where you can get into trouble....at least I


Post a Comment

Note: Only a member of this blog may post a comment.