QTP Tutorial #5 – Moving Steps and Dealing with Breakpoints

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.

We are almost approaching the end of the sessions concerning the ‘Keyword View’ of QTP. How it looks, what it does, what we can do with it – are some of the aspects that we are trying to unveil in the course of our articles. Understanding the view, adding steps, and conditional statements are already dealt with.

=> Click Here For The QTP Training Tutorials Series

Moving Steps and Dealing with Breakpoints

Other Features of Keyword View

Today you’ll learn the remaining Keyword View features such as Moving steps, Deleting steps and dealing with Breakpoints.

Just like always, we will use the sample test that we have been working with i.e. The login operation on the Flight sample application.

Moving Steps

#1) The first and the simplest way – the Keyword view acts like any text modification application when it comes to cutting, copying, and pasting the steps. Thus, all 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:

  • Edit -> Cut
  • Edit -> Copy
  • Edit -> Paste

#3) The other method is dragging and dropping.

Any of the above methods can be used to move steps. However, there are a 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 an item is a child object and the user decides to move it, there is one of the two scenarios that comes 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:

Moving steps in QTP

I am going to move the step where we enter the agent’s 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:

Moving steps by dragging in QTP

Earlier in the introduction sessions, we 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 for these actions as desired.

To achieve this, 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, etc., are going to be discussed in detail as we move on in our sessions.

Action 1:

Moving steps in QTP action 1

Action 2:

Moving steps in QTP action 2

As you can see in the test flow pane, the sequence in which these actions are executed is displayed.

QTP test flow pane

If I want Action 2 to run first followed by Action 1, the Keyword view would let 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.

Delete Steps

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, then the following message is displayed to the user:

QTP delete steps

This means that if a step with sub-steps is chosen for deletion, then all the sub-steps get deleted too.

That’s all we have to discuss about deleting steps.

Adding Breakpoints to the Test From Keyword View

Often, during 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 on 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:

Adding breakpoints in QTP

Selecting a step and pressing F9 on the keyboard also results in the addition of a breakpoint.

Insert remove 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 this 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 as well at the front of the line corresponding to the row to which it gets added.

Breakpoints in expert view

Vice versa is true too if you add a breakpoint from the Expert view, as it gets reflected in the keyword view.

As simple as it is to insert a breakpoint, it is even simpler to delete once its purpose is served or when it is no longer required.

Delete Breakpoints

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.


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.

=> Visit Here For The QTP Training Tutorials Series

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.

Recommended Reading

18 thoughts on “QTP Tutorial #5 – Moving Steps and Dealing with Breakpoints”

  1. is it possible to save breakpoints in test? open the script having breakpoints. does it load previously created breakpoints?

  2. great stuff. thank you

  3. @Kartik: No, it does not load the previously created breakpoints

  4. Really sorry to say but Article is Not up to the mark
    i am disappointed 🙁

  5. Really great stuff.

    Request for you, can you please make series of tutorial for Selenium IDE, Selenium RC and Selenium Gridsame like this ? It will be more helpful who is looking opensource alternative for QTP.

    Thanks in Advance 🙂

  6. @ Devanshu Lavaniya: Sorry. What expectations of yours did we not meet in this article? Please let us know…we will work on making it better

  7. I need information on doing the Scrum Master exam and i need some help with past questions and answers and the best book to buy..
    Please contact me on dickieponga@yahoo.co.uk

  8. Hi Guys,
    I have 2 years of experience and its been 4 months since i left because of family matter which is completely resolved now, can anyone suggest me in finding a job with 4-5 months of career gap…???

  9. currently I am staying in Bangalore

  10. I have doubts in the following point 1.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
    Doubt # 1: If i copy the else part alone of the if else statement , the if part alone is copied and pasted Doubt 2#: Any statement inside a condition statement/loop can be copied and pasted seperately . It is not getting copied as a block.

  11. @Senthil: The moving in blocks is more to establish a integrity of a block statement. It is to make a logical sense. In case you copy one without the other it usually does not have its meaning. I hope that helps…

  12. Very good article about QTP.. waiting for chapter 6 when it will be available

  13. @Swathi : Thank You Swathi .. awaiting your next series of tutorials

  14. Hi Swathi,

    Your tutorial’s from 1-5 are written in a nice way with screen shots. I’ve gone through quite a few websites on QTP automation,but for a beginner, i would say your tutorial is the best.Thanks.

  15. V Nice Article… surely helpful…. Kp us updated with such kind of Knowledge …

  16. I have a doubt.. Consider we have multiple Actions say Action 1, Action 2 and Action 3.Now I want to Execute the Action 2 alone, with out executing Action 1 & 3.how ti achive it


Leave a Comment