QTP Tutorial #11 – Use of Password Encoder and Active Screen – Explained With Examples

This QTP tutorial will explain two basic but important features of QTP that are used frequently in advanced QTP scripts. They are the QTP Password Encoder tool and the Active screen. 

For obvious reasons, websites do not display passwords even while we are providing them as an input to sign in. QTP has a unique feature that will preserve the password from being out in the open thereby maintaining the password’s integrity.

=> Click Here For QTP Training Tutorials Series

Use of Password Encoder and Active Screen

QTP Password Tool

As you might have noticed, when we enter the password as “Mercury” in the flight’s application along with an illegible sequence of characters is set in the password edit box.

This is how it looks:

Dialog(“Login”).WinEdit(“Password:”).SetSecure “512c58cda469a14c01aa536f4a1a6a544d7d09e6”

In the above line of code, we can see that the password is encrypted.

QTP records a ‘SetSecure’ method when a password is entered. It automatically encodes the password entered during login and decodes the same while running the test. This is a mechanism that QTP employs to hide the password on the screen.

The user can also choose to enter a value discreetly into a non-password text box by using the SetSecure method and the encrypted equivalent of the text to be entered as a parameter. If a need arises that we need to set a secure value in a certain textbox, then QTP comes with a tool called “Password Encoder”. This tool takes the regular text and encodes it.

The “Password Encoder Utility’ is available at:

Start > Programs > HP QuickTest Professional > Tools > Password Encoder

It launches the following app:

Password Encoder Utility

The tool is very user-friendly and self-explanatory.

When the “Password” field is provided with an input, the “Generate” button becomes active and upon clicking it, the encoded text is displayed in the “Encoded String” field. The same can be copied to the clipboard by clicking on the “Copy” button which gets enabled when the encoded password is generated.

For Example,

Password Encoder Utility 1

Click Generate:

Password Encoder Utility 2

The encoded text can be used as a direct input to a text/edit box or as a parameter in the DataTable.

Active Screen

This is another versatile feature that QTP provides to make the testing process more transparent to the user.  While recording QTP saves a snapshot of the application state when a certain operation was performed on it. The number of details that you want your active screen to store and record depends on the settings.

Before we talk more about the settings and what it means, let us take a look at how the active screen looks.

To view the active screen, click on “View -> Active Screen”.

Here I have a test that creates a Gmail account and I chose to view the active screen. This is how it looks.

Active Screen

As you can see, when I have the statement selected, the corresponding object on which the statement acted upon is highlighted in the snapshot that was captured by the active screen.

Let’s see what happens when I move to the next statement.

Active Screen 1

The corresponding text box where I am trying to enter the First Name is highlighted and as it can be noted this is no longer the Gmail page, it is the ‘create a new Google account’ page.

Now let us see how much information we can ask QTP to store in this snapshot while recording and how do we do it.

Choose “Tools -> Options -> Active Screen” from the menu and it will open up the following window.

Active Screen 2

Each level of capture and its corresponding features are explained in this window. The default setting is as you see it in the screenshot. The levels can be changed as required.

Given below are the levels and what each level means to get displayed as the user sets them.

  • Complete
  • Partial (Default)
  • Minimum
  • None

The capture level can be decreased or increased even after a test is created. Alternately, the user can set a custom level of active screen capture by clicking on the “Custom Level” button and choosing the relevant options.

The active screen, apart from being a visual aid during the examining process, also has several important aspects that can help the tester manipulate the tests as required.

  • Objects in the Active screen can be added to local or shared object repositories.
  • Check-points can be added from this screen.
  • Output values can be added.
  • Parameterization for the fields can also be done from this screen.
  • Steps can be added to the test

For Example, in our Gmail page earlier if I choose to add the ‘Sign in’ button to the repository I can do that by right-clicking on the object and the following options will get displayed for me to choose from.

Active Screen 3

As you can see, I can insert a checkpoint, output value, or choose to view or add objects among other things.

Although we are yet to uncover the checkpoint and output value features, it is inevitable to mention them here, as they are some key functionality that the active screen helps with.

Replacing the active screen for certain steps:

In case a need arises for me to change the active screen that got recorded by default, QTP provides me with a way to do that.

Choose the option “Tools ->Change Active screen” from the menu and QTP lets you go to the new screen. When you click on the new screen, the control goes back to QTP with the following confirmation message.

Active Screen 4

On choosing “Yes” to this message, a new screen will be displayed henceforth when the active screen for that step is viewed.

If all the snapshots in your test have to be replaced or updated, you can choose to run the test in “Update Run mode”. You might be able to guess what this means, but in any case, we will have a detailed discussion on it later on in the upcoming articles.

Active Screen 5

Real-time use of the active screen is when you want to make changes to the test without opening your application but just from the screen captured during the record.

However, it must be noted that tests with Active screen-captured occupy way more disk space than the ones without it. On saving a test using the “Save as” option to exclude, the Active screen will be available to the user.

Active Screen 6

So what you can do is, record a test with an active screen, modify it as needed while leveraging as many features as you can from it, and “Save as” a new test without the active screen. This ensures that your tests are easy on disk space at the same time you get to use the active screen for your benefit while it is needed.

This was some brief insight into the topics, password encoder, and Active screen.

=> Visit Here For QTP Training Tutorials Series

The next article is going to be about Expert view, Step generator, etc., and we will try to include some checkpoints too. Feel free to post your questions in the comments section below.

Recommended Reading

12 thoughts on “QTP Tutorial #11 – Use of Password Encoder and Active Screen – Explained With Examples”

  1. Do we always need to encrypt it before using in script? Or the recording session will do it for us?

  2. Does recording under active screen allow to add steps for all objects even if the application is not available at the time of adding more steps to script?

  3. @Suresh: The script will encrypt passwords. You can encrypt any text you want based on your need.

  4. @Smeet: Yes Smeet. If you have that object available in your active screen(this depends on the settings again) then you can.

  5. while working on QTP i do heard that there is a way to decode the paswword as well.. can you help me with remembering tha..please

  6. In the trial version i couldnt find the password encoder and the active screen settings as well .. can you please give the modified link ?

  7. if Agent Name is Rajat then how we can verify it without using checkpoints.
    I know it can be done via if else but I don’t know the syntax

  8. hi every one ,i have one big doubt in qtp ….how to find out password masking working or not

  9. i wrote this
    browser(“Gmail”).Page(“Gmail”).WebEdit(“Email”).Set “testergowri@gmail.com”
    wait 2
    a= “sankar”
    browser(“Gmail”).Page(“Gmail”).WebEdit(“Passwd”).Set a

  10. my doubt is while using msgbox …..
    it want to take it as masking text

  11. my objects are visible but not in the active screen. I need to swipe down or up for QTP to change everytime. Is there any method for that i can make the object in active screen and perform operation.

  12. how do I verify a value such as Password displays as masked?

    Thank you!


Leave a Comment