QTP training tutorial #5 - moving steps, deleting steps and dealing with breakpoints in keyword view. This is the fourth and the last article on QTP keyword view features.
If you missed any article in this QTP training series please check all articles on this page: QTP Training Tutorials
Other features of the Keyword View:
We are almost approaching the end of sessions concerning the ‘Keyword View’ of QTP. How it looks, what it does, what can we do with it – These are some of the aspects we are trying to unveil in the course of our articles. Understanding the view, adding steps, conditional statements are already dealt with.
Today we’ll learn remaining Keyword View features such as moving steps, deleting steps and dealing with breakpoints.
Just like always, we will use the sample test we have been working with – The login operation on the Flight sample application.
1) The first and the simplest way – Keyword view acts like any text modification application when it comes to cutting, copying and pasting the steps. Thus, all the clipboard shortcuts are applicable.
- Ctrl+C – Copying
- Ctrl+V – Moving
- Ctrl+X- Cut
2) The next way is by choosing the menu option. To use this, select the step that needs to be moved and choose the following menu choices:
3) The other method is dragging and dropping.
Any of the above methods can be used to move steps. However, there are few ground rules:
- The loop or condition statements can only be moved in blocks. For example, for an ‘if…else’ statement you cannot just move the else part.
- In a step, where the item is a child object and the user decides to move it, there is one of the two scenarios that come up. Either the step gets moved under the same parent or to a different parent. If it is moved under the same parent, it simply comes up in the new position chosen. But if it is moved under a different parent, the parent gets duplicated. Let’s see this pictorially:
[Note - click on any image to enlarge]
I am going to move the step where we enter the agent name (the one highlighted above) under the ‘Flight Reservation’ parent object. Let’s note that the parent object for ‘Agent Name’ is Login. I simply dragged the step to be the last one. This is how, it appears:
Earlier in the introduction sessions, we have discussed that we can have multiple actions in a test. Let us see how a test with multiple actions would appear in the keyword view and how this view can be used these actions as desired.
To achieve this is, I am simply going to convert all the steps under the parent object ‘Flight Reservation’ in our above example to appear under another action. Adding actions, steps to actions all these are going to be discussed in detail as we move on in our sessions.
As you can notice in the test flow pane, the sequence in which these actions are executed is displayed.
If I would want the Action 2 to run first followed by Action 1, keyword view let’s me do that by allowing me to drag and drop the actions to the necessary position.
With this, we have covered all the information necessary to move steps/actions/blocks within a test using the keyword view.
Deleting steps from QTP could not have been simpler. All you need to do is choose the step that you do not want in the test and simply hit the “Delete” button on the keyboard or right click on a step and select “Delete” from the menu or select a step and choose “Edit->Delete” from the main menu.
If a step that has sub-steps defined for it is chosen for deletion, the following message is displayed to the user:
What this means is that, if a step with sub-steps is chosen for deletion, all the sub-steps get deleted too.
And, that’s all there is to discuss about deleting steps.
Adding Breakpoints to the test from the keyword view:
Often, during the execution there might be one or more things that you want to key an eye out for and observe what kind of changes are happening. This might be to see the state an Object gets to or to note a value a variable takes etc. A facility that helps us do just that is a Breakpoint. It is basically a certain point in your test where you want to pause the test run and observe or obtain certain information about your test. Most times this feature makes debugging easier.
Now, that we know what a breakpoint is, we will try to understand how to add them to our tests from the keyword view.
All you need to do is, click in the left margin at the particular step where you need to pause the test. The addition of a breakpoint is represented by a red dot in the left margin corresponding to the step where a break is added.
Here is how it looks:
Selecting a step and pressing F9 on the keyboard also results in the addition of a breakpoint.
Lastly, the menu option “Debug->Insert/Remove Breakpoint” can also be used.
So, once a breakpoint gets inserted, the test will run until the step where it is inserted normally and will come to a halt before executing it. At the point the tester can perform the required observations for which the program was stopped and continue to run it by choosing the “Run” option one more time from the main menu whenever he is ready.
If we add a breakpoint from the keyword view, the same is displayed in the Expert view also in front of the line corresponding to the row to which it gets added.
The vice versa is true too, if you add a breakpoint from the Expert view, it gets reflected in the keyword view.
As simple as it is to insert a breakpoint it is even simpler to delete is once its purpose is served or when it is no longer needed.
Clicking one more time on the line where the breakpoint already exists will result in its deletion. Keyword F9 or the menu option “Debug->Insert or Delete Breakpoint” can be chosen on a step with a breakpoint and it gets removed.
So this concludes the discussion of all the properties and capabilities of keyword view in detail. This view is the most readable one among the two and once all the features are understood, we can use it as effectively as possible to make the tests robust.
The coming QTP tutorial will deal with how to record a new test and what are the factors that determine the success of a being able to do so.