Comprehensive Review of WinRunner Automation Tool along with Frequently Asked Questions and Answers to Prepare for the Upcoming Interview.
This is a part of the post, “WinRunner Interview Questions and Answers series”.
HP WinRunner Automation Tool is owned by Mercury Interactive. When HP acquired Mercury Interactive, they stopped Winrunner support and suggested to use the HP Functional Testing software.
Here are some important WinRunner interview questions that are frequently asked during the Automation Testing interview. If you are unclear of any answer, you can ask us for clarification in the comment section.
This WinRunner tutorial posting series is part of the Testing Interview preparation series to help you in your preparation.
What You Will Learn:
WinRunner Automation Tool Preparation
Given below are a few questions and answers to help you with WinRunner Automation tool preparation.
Q #1) How do you analyze Test results in the WinRunner tool and report the defects?
Answer: When you finish any test in WinRunner, it displays the results in a report format.
The report logs general information about the test run i.e. date, operator mode and total run time. Also, the report details include all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages.
A mismatch can be found in the report panel by comparing the Actual result and the Expected result. If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window.
This information is sent via e-mail to the Quality Assurance Manager, who tracks the defect until it is fixed.
Q #2) What is the use of the Test Director Testing Tool?
Answer: Test Director is Mercury Interactive’s software Test Management Tool. It helps Quality Assurance personnel to plan and organize the testing process.
With TestDirector, you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help in reviewing the progress of planning tests, running tests, and tracking defects before a software release.
Q #3) How to integrate Automated Scripts from TestDirector to WinRunner Scripts?
Answer: When you work with WinRunner to create any test script, you have the option to save it directly to the Test Director test repository.
Or while creating a test case in TestDirector we can specify whether the script is automated or manual.
If it is an automated script, then TestDirector will build a skeleton for the script like TSL (Test Script Language) of WinRunner that can be later modified into one which could be used to test the application.
Q #4) What are the different Modes of Recording in WinRunner?
Answer: There are two types of Recording in WinRunner:
- Context-Sensitive Recording, which records the operations you perform on your application by identifying Graphical User Interface (GUI) objects. WinRunner identifies all the objects in your window that you have clicked on like menus, windows, lists, buttons and the type of operation you perform such as enable, move, select, etc.
- Analog Recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by mouse pointer across the screen i.e WinRunner records exact co-ordinates traveled by mouse.
Q #5) What is the purpose of loading WinRunner Add-Ins?
Answer: Add-Ins are used in WinRunner to load functions specific to a particular add-in to the memory. While creating a script, only those functions in the add-in that are selected will be listed in the function generator.
While executing the script only those functions which are in the loaded add-in will be executed, else WinRunner will give an error message saying it does not recognize the function.
Q #6) What are the reasons that WinRunner fails to identify in the GUI object?
Answer: WinRunner fails to identify an object in a GUI due to various reasons. A few of them are enlisted below.
- The object is not a standard windows object.
- If the browser used is not compatible with the WinRunner version, then the GUI Map Editor will not be able to learn any of the objects displayed in the browser window.
Q #7) What do you mean by the Logical name of the object?
Answer: When you click an object, WinRunner assigns the object a Logical name, which is usually the object’s text label. Logical names make it easy for you to read the test script.
For example, when you have selected the Order No. checkbox, WinRunner has recorded the following statement in WinRunner TSL:
button_set (“Order No.”, ON);
“Order No.” is the object’s logical name.
An object’s Logical name is determined by its class. In most cases, the logical name is the label that appears on an object.
Q #8) If the object does not have a name then what will be the Logical name?
Answer: If the object does not have a name then the logical name could be the attached text.
Q #9) What is the difference between GUI map and GUI map files?
Answer: The GUI map is the sum of one or more GUI map files. There are two modes for organizing GUI map files.
- Global GUI Map file: This is a single GUI Map file for the entire application.
- GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.
GUI Map file is a file that contains windows and objects learned by WinRunner with their logical name and physical description.
WinRunner Interview Questions With Answers
In this tutorial on the WinRunner interview preparation series, you can find the frequently asked WinRunner interview questions with answers.
Most of the questions are based on Test Script Language (TSL), recording scripts in WinRunner and introduction to some important basic as well as mostly used WinRunner commands.
Q #1) What is the purpose of set_window command?
Answer: Set_Window command sets the focus to the specified window. We use this command to set the focus to the required window before executing tests on a particular window.
Syntax: set_window(<logical name>, time);
Here, the logical name is the logical name of the window and time is the time for which the execution has to wait till it gets the given window into focus.
set_window (“Print”, 12);
The set_window statement indicates that the Print window is the active window.
The OK button is learned within the context of this window.
If you program a test manually, you need to enter the set_window statement and then the active window changes. While editing a script, ensure not to delete necessary set_window statements.
Q #2) Why don’t we normally load the GUI maps through startup scripts?
Answer: We do not normally load GUI maps through startup scripts such as:
- If we are using a single GUI Map file for the entire AUT then the memory used by the GUI Map may be much high.
- If there is any change in the object being learned, then WinRunner will not be able to recognize the object, as it is not in the GUI Map file loaded in the memory. So, we will have to learn the object again and update the GUI File and reload it.
Q #3) How do you unload the GUI map?
Answer: We can use the GUI_close command to unload a specific GUI Map file or else we can use the GUI_close_all command to unload all the GUI Map files loaded in the memory.
Syntax: GUI_close(<file_name>); or GUI_close_all;
You can also use GUI_unload and GUI_unload_all functions to unload all the loaded GUI map files.
Q #4) What is the use of the GUI map and what happens when the GUI map file gets loaded?
Answer: When we load a GUI Map file, the information about the windows and the objects with their logical names and physical descriptions are loaded into memory.
So when WinRunner executes a script on a particular window, it can identify the objects using this information loaded in the memory.
Q #5) How do you copy and move objects between different GUI map files?
Answer: You can copy and move objects between different GUI Map files using the GUI Map Editor.
The steps to be followed are:
- Choose Tools -> GUI Map Editor to open the GUI Map Editor.
- Choose View -> GUI Files.
- Click Expand on the GUI Map Editor. The dialog box expands to display two GUI map files simultaneously.
- View a different GUI map file on each side of the dialog box by clicking on the file names in the GUI File lists.
- In one file, select the objects you want to copy or move. Use the Shift key and/or Control key to select multiple objects. To select all the objects in a GUI Map file, choose Edit -> Select All.
- Click Copy or Move.
- To restore the GUI Map Editor to its original size, click Collapse.
Q #6) How do you configure the GUI map?
Answer: GUI map can be configured as:
- When WinRunner learns the description of a GUI object, it does not learn all its properties. Instead, it learns the minimum number of properties to provide a unique identification of the object.
- Many applications also contain custom GUI objects. A custom object is any object which does not belong to one of the standard classes used by WinRunner. These objects are therefore assigned to the generic “object” class. When WinRunner records an operation on a custom object, it generates obj_mouse_ statements in the test script.
- If a custom object is similar to a standard object, you can map it to one of the standard classes. You can also configure the properties WinRunner uses to identify a custom object during Context Sensitive testing. The mapping and configuration you set is valid only for the current WinRunner session. To make the mapping and the configuration permanent, you must add configuration statements to your startup test script.
Q #7) What is the purpose of a GUI spy?
Answer: Using the GUI Spy, you can view the properties of any GUI object on your desktop. You use the Spy pointer to point to an object, and the GUI Spy displays the properties and their values in the GUI Spy dialog box.
You can choose to view all the properties of an object or only the selected set of properties that WinRunner learns.
Q #8 ) Explain the purpose of the different record methods
- Pass Up
- As Object
- Record instructs WinRunner to record all operations performed on a GUI object. This is the default record method for all classes. (The only exception is the static class (static text), for which the default is Pass Up.)
- Pass Up instructs WinRunner to record an operation performed in this class as an operation performed on the element containing the object. Usually, this element is a window, and the operation is recorded as win_mouse_click.
- As Object instructs WinRunner to record all operations performed on a GUI object as though its class was the “object” class.
- Ignore instructs WinRunner to disregard all operations performed in the class.
Q #9) What are virtual objects and how do you learn them?
Answer: You can teach WinRunner to recognize any bitmap in a window as a GUI object by defining the bitmap as a virtual object.
You can create virtual push-buttons, radio buttons, check buttons, lists, or tables, according to the bitmap’s behavior in your application. If none of these are suitable, you can map a virtual object to the general object class.
- Applications may contain bitmaps that look and behave like GUI objects. WinRunner records operations on these bitmaps using win_mouse_click statements. By defining a bitmap as a virtual object, you can instruct WinRunner to treat it like a GUI object such as a push-button, when you record and run tests.
- Using the Virtual Object Wizard, you can assign a bitmap to a standard object class, define the coordinates of that object, and assign it a logical name.
Q #10) What is the use of Virtual Object Wizard and how is it used?
Answer: The below steps are followed to define a virtual object using the Virtual Object Wizard:
- Choose Tools -> Virtual Object Wizard. The Virtual Object Wizard opens. Click Next.
- In the Class list, select a class for the new virtual object. If rows are displayed in the window. For the table class, select the number of visible rows and columns. Click Next.
- Click on Mark Objects. Use the crosshairs pointer to select the area of the virtual object. You can use the arrow keys to make precise adjustments to the area you define with the crosshairs. Press Enter or click the right mouse button to display the virtual object’s coordinates in the wizard. If the object marked is visible on the screen, you can click the Highlight button to view it. Click Next.
- Assign a logical name to the virtual object. This is the name that appears in the test script when you record on the virtual object. If the object contains text that WinRunner can read, the wizard suggests using this text for the logical name. Otherwise, WinRunner suggests virtual_object, virtual_push_button, virtual_list, etc.
- You can accept the wizard’s suggestion or type in a different name. WinRunner checks that there are no other objects on the GUI map with the same name before confirming your choice. Click Next.
Q #11) What are the modes of script recording in WinRunner?
Answer: There are 2 modes of recording in WinRunner.
- Context-Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects.
- Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.
Q #12) What is a Checkpoint and what are the different types of Checkpoints?
Answer: Checkpoints allow you to compare the current behavior of the application being tested to its behavior in an earlier version.
You can add four types of checkpoints to your test scripts:
- GUI Checkpoints verify information about GUI objects. For example, you can check that a button is enabled or see which item is selected in a list.
- Bitmap Checkpoints takes a snapshot of a window or area of your application and compares this to an image captured in an earlier version.
- Text Checkpoints read the text in GUI objects and bitmaps and enable you to verify their contents.
- Database Checkpoints check the content and the number of rows and columns of a result set, which is based on a query you create in your database.
Most Frequently Asked WinRunner Questions
Here is a list of some of the frequently asked WinRunner interview questions with answers.
Q #13) How have you used WinRunner in your project?
Answer: Yes, I have been using WinRunner to create automated scripts for GUI, Functional and Regression Testing of the AUT.
Q #14) Explain the WinRunner testing process.
Answer: The WinRunner testing process involves six main stages:
- Create a GUI Map File so that WinRunner can recognize the GUI objects in the application being tested.
- Create test scripts by recording, programming, or a combination of both. While recording tests, insert checkpoints where you want to check the response of the application being tested.
- Debug Test: Run tests in Debug mode to make sure they run smoothly.
- Run Tests: Run tests in Verify mode to test your application.
- View Results: Determines the success or failure of the tests.
- Report Defects: If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window.
Q #15) What is contained in the GUI map?
Answer: WinRunner stores information it learns about a window or object in a GUI Map.
When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested. Each of these objects in the GUI Map file will have a logical name and a physical description.
There are 2 types of GUI Map files:
- Global GUI Map file: This is a single GUI Map file for the entire application.
- GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.
Q #16) How does WinRunner recognize objects on the application?
Answer: WinRunner uses the GUI Map file to recognize objects in the application. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested.
Q #17) Have you created test scripts and what is contained in the test scripts?
Answer: Yes, I have created test scripts. It contains the statement in Mercury Interactive’s Test Script Language (TSL). These statements appear as a test script in the test window.
You can then enhance your recorded test script, either by typing in additional TSL functions and programming elements or by using WinRunner’s visual programming tool, the Function Generator.
Q #18) How does WinRunner evaluate test results?
Answer: Following each test run, WinRunner displays the results in a report. The report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages.
If mismatches are detected at checkpoints during the test run, you can view the expected results and the actual results from the Test Results window.
Q #19) Have you performed debugging of the scripts?
Answer: Yes, I have performed debugging of scripts. We can debug the script by executing the script in debug mode. We can also debug scripts using the Step, Step Into, Step out functionalities provided by the WinRunner.
Q #20) How do you run your test scripts?
Answer: We run tests in Verify mode to test your application. Each time WinRunner encounters a checkpoint in the test script, it compares the current data of the application being tested to the expected data captured earlier.
If any mismatches are found, then WinRunner captures them as actual results.
WinRunner Screening Questions
Screening questions: Interviewer can Reject the candidate if he/she is not able to answer 2 questions out of the following 4 questions:
Q #21) Where did you learn WinRunner and TestDirector?
Answer: If they say it was in a mercury class, ask if they can show you their certificate of completion. If they say no, let them know you will verify it with Mercury.
Q #22) Have you ever created a start-up script?
Answer: If they answer “yes”, ask them what was in it and how they got WR to execute the start-up script when WR is invoked.
They should answer something like this, “In the start-up script, we loaded all the GUI maps for the application, any library files we needed, and any custom GUI object mapping we have to do.
We have also loaded global variables and system variables here. The startup script location is added to the WR .ini file, wrun.ini located under windows or WinNT directory as wrun.ini”
Q #23) What is the difference between writing a function and writing a script?
Answer: Differences are enlisted below:
- A function goes into a “compiled module”, a script that does not.
- A function follows a strict “c” syntax. For example, you have to declare all variables created and used in the function. In the script, you do not.
Q #24) What is the difference between “set_window” and “win_activate”.? When would you use “set_window” and when would you use “win_activate”?
win_activate has the format: win_activate(window);.
The win_activate function makes the specified window the active window by bringing it into focus and raising it to the top of the display. (This is equivalent to clicking on the window banner)
set_window has the following format: set_window(window,[time]);
The set_window function directs input to the correct application window. This will direct the GUI map to this window. It also sets the scope for object identification in the GUI map.
The most important difference is that set_window has a timing option. WinRunner will wait for the maximum number used in the function, PLUS the system will set a timeout and wait for the window to appear.
Win_activate assumes the window is already on the desktop and has no timing option.
These are some simple questions that should be very easy for a WR user who has at least 6 months of good experience to answer.
All the best!!