Question 1: What are Actions in QTP?
Answer: When we create a
test in QTP, An action is created by default.
A test comprises call to multiple actions. Action helps divide the test
into logical units and can be called multiple times within the test by some
other actions. To understand this better, suppose I have an application that
calls to login into application, then create a deal, viewing the deal, editing
the deal, viewing the deal , and log out from application. So we can divide the
test into actions as shown in screenshot below and call the actions from a main
action.
Question 2: Functions also help divide the test into logical units, so how Actions are different from functions?
Answer: We can
understand the difference between an action and function by below comparisons:
1. As
we create a test in QTP, An action is created by default. Inside an action we
can write multiple functions or call functions from external vbs libraries.
2. Action
is a QTP Feature whereas Function is a VB Script feature.
3. Action are integral part of QTP Test, artifacts such as data table, object
repository, checkpoint are associated to the action and are specific to the
action, whereas we cannot associate these artifacts with a function, but can be used by function if function is
called within the action with which the object repository is associated.
4. Since
Action have data table, and object repository, there take lot more space to
functions, and are not useful in case we are using DOM or Descriptive
programming for object identification and external test data in the form of
excel sheets or database.
5. There
is no limit to the number of functions that can be created or called within an
action, but we can create a maximum of 120 actions in QTP 11.
6. We
can return complex values from a function including arrays and object which is
not possible in action parameters.
7. Editing
an external function is much easier compared to an external action called by an
action at runtime.
8. We
can load both the external test actions and function libraries at run time.For
external test action: use statement LoadandRunAction, whereas for loading external libraries use LoadFunctionLibrary.
Question 3: How do we return value from an action?
Answer: We can return
value from an action using Input Parameter and output parameters.
Question 4: What are the various types of Actions in QTP?
Answer: Following are the types of actions in QTP:
Reusable action – A newly created action in QTP is reusable by default. A reusable action can be called by other action within the test or external actions.
Non-reusable action – By default, an action is reusable in QTP, but can
be made non-reusable by changing action Properties. A non-reusable action
cannot be called from other actions.
External action- This is a reusable action stored in another test. This
is explained earlier in this article how to call an external action.
Nested action - An action can call another action.
This is known as nesting an action. For e.g : Multiple action called from an
action and specific action being executed based on some condition using conditional
looping.
Question 5: What is difference between Calls to Copy of Actions and Calls to existing actions?
Answer:
Both Call to Copy of Action and
calls to existing action are used to call another reusable action.
On
inserting a call to copy of an action, the called action is completely copied
in the test together with resources including Object Repositories, data, and
checkpoint. We can edit the script stored in action and make changes to the resources
like Object repositories associated with the action. Changing the action does
not have any impact on the original action and change in original action will
not modify the copied action.
Inserting
a call to existing action allows viewing the steps of the action, but user cannot
modify them. The called action’s local object repository is also read-only.
Question 6: Which of the following can be used to transfer data between actions in a QTP test?
a. Using Global Data Sheet
b. Using Dictionary Object
c. Using Action or Test Output Parameters
d. Using Environment Variable
e. All of the above
Answer:
We can transfer data between actions using any of the above.
Question 7: What is syntax for running an action in QTP?
Answer: An action can be called from another action within the
same test using RunAction.
The syntax for RunAction is :
RunAction ActionName, IterationQuantity, Parameter
Where IterationQuantity and Parameters are optional.
e.g: RunAction "Action1", oneIteration, Parameter("output"),DataTable("Outparam", dtLocalSheet)
Similarly, if we need to run action from external test, we
can use use
LoadandRunAction.Syntax : LoadandrunAction(Test Path, ActionName , iterations, Parameters)
Question 8: Which of the following are specific to action and are created/associated at action level?
a. Object Repository
b. Local Data table
c. Checkpoints
d. Recovery Scenario.
Answer: All except
Recovery Scenario are associated at action level, recovery scenario are
associated for the test.
Information was good. Please provide more detail level
ReplyDelete