1)What is the script used in WinRunner?
a)Test Script Language (TSL)
2)Explain WinRunner testing process?
a)WinRunner testing process involves six main stages
i.Create Map File so that WinRunner can recognize the GUI objects in the application being tested
ii.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.
iii.Debug Test: run tests in Debug mode to make sure they run smoothly
iv.Run Tests: run tests in Verify mode to test your application.
v.View Results: determines the success or failure of the tests.
vi.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.
3)What is contained in the GUI map?
a)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 be having a logical name and a physical description.
b)There are 2 types of GUI Map files.
i.Global GUI Map file: a single GUI Map file for the entire application
ii.GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.
4)How does WinRunner recognize objects on the application?
a)WinRunner uses the GUI Map file to recognize objects on 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.
5)Have you created test scripts and what is contained in the test scripts?
a)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 a 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.
6)How does WinRunner evaluates test results?
a)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.
7)Have you performed debugging of the scripts?
a)Yes, I have performed debugging of scripts. We can debug the script by executing the script in the debug mode. We can also debug script using the Step, Step Into, Step out functionalities provided by the WinRunner.
8)How do you run your test scripts?
a)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
b) are found, WinRunner captures them as actual results.
9)How do you analyze results and report the defects?
a)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. 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.
10)What is the use of Test Director software?
a)TestDirector
is Mercury Interactive’s software test management tool. It helps
quality assurance personnel 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 review the progress of planning
tests, running tests, and tracking defects before a software release.
11)How you integrated your automated scripts from TestDirector?
a)When you work with WinRunner, you can choose to save your tests directly to your TestDirector database or while creating a test case in the TestDirector we can specify whether the script in automated or manual. And if it is automated script then TestDirector will build a skeleton for the script that can be later modified into one which could be used to test the AUT.
12)What are the different modes of recording?
a)There are two type of recording in WinRunner.
i.Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects.
ii.Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.
13)What is the purpose of loading WinRunner Add-Ins?
a)Add-Ins
are used in WinRunner to load functions specific to the particular
add-in to the memory. While creating a script only those functions in
the add-in selected will be listed in the function generator and while
executing the script
only those functions in the loaded add-in will be executed else
WinRunner will give an error message saying it does not recognize the
function.
14)What are the reasons that WinRunner fails to identify an object on the GUI?
a)WinRunner fails to identify an object in a GUI due to various reasons.
i.The object is not a standard windows object.
ii.If
the browser used is not compatible with the WinRunner version, GUI Map
Editor will not be able to learn any of the objects displayed in the
browser window.
15)What do you mean by the logical name of the object.
a)An object’s logical name is determined by its class. In most cases, the logical name is the label that appears on an object.
16)If the object does not have a name then what will be the logical name?
a)If the object does not have a name then the logical name could be the attached text.
17)What is the different between GUI map and GUI map files?
a)The GUI map is actually the sum of one or more GUI map files. There are two modes for organizing GUI map files.
i.Global GUI Map file: a single GUI Map file for the entire application
ii.GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.
b)GUI Map file
is a file which contains the windows and the objects learned by the
WinRunner with its logical name and their physical description.
18)How do you view the contents of the GUI map?
a)GUI
Map editor displays the content of a GUI Map. We can invoke GUI Map
Editor from the Tools Menu in WinRunner. The GUI Map Editor displays
the various GUI Map files created and the windows and objects learned
in to them with their logical name and physical description.
19)When you create GUI map do you record all the objects of specific objects?
a)If
we are learning a window then WinRunner automatically learns all the
objects in the window else we will we identifying those object, which
are to be learned in a window, since we will be working with only those
objects while creating scripts.
20)What is the purpose of set_window command?
a)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(, time);
The
logical name is the logical name of the window and time is the time the
execution has to wait till it gets the given window into focus.
21)How do you load GUI map?
a)We can load a GUI Map by using the GUI_load command.
Syntax: GUI_load(<_name>);
22)What is the disadvantage of loading the GUI maps through start up scripts?
a)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.
b)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.
23)How do you unload the GUI map?
a)We
can use GUI_close to unload a specific GUI Map file or else we call use
GUI_close_all command to unload all the GUI Map files loaded in the
memory.
Syntax: GUI_close(<_name>); or GUI_close_all;
24)What actually happens when you load GUI map?
a)When
we load a GUI Map file, the information about the windows and the
objects with their logical names and physical description are loaded
into memory. So when the WinRunner executes a script on a particular
window, it can identify the objects using this information loaded in
the memory.
25)What is the purpose of the temp GUI map file?
a)While
recording a script, WinRunner learns objects and windows by itself.
This is actually stored into the temporary GUI Map file. We can specify
whether we have to load this temporary GUI Map file should be loaded
each time in the General Options.
26)What is the extension of gui map file?
a)The extension for a GUI Map file is “.gui”.
27)How do you find an object in an GUI map.
a)The GUI Map Editor is been provided with a Find and Show Buttons.
i.To
find a particular object in the GUI Map file in the application, select
the object and click the Show window. This blinks the selected object.
ii.To
find a particular object in a GUI Map file click the Find button, which
gives the option to select the object. When the object is selected, if
the object has been learned to the GUI Map file it will be focused in
the GUI Map file.
28)What different actions are performed by find and show button?
a)To
find a particular object in the GUI Map file in the application, select
the object and click the Show window. This blinks the selected object.
b)To
find a particular object in a GUI Map file click the Find button, which
gives the option to select the object. When the object is selected, if
the object has been learned to the GUI Map file it will be focused in
the GUI Map file.
29)How do you identify which files are loaded in the GUI map?
a)The GUI Map Editor has a drop down “GUI File” displaying all the GUI Map files loaded into the memory.
30)How do you modify the logical name or the physical description of the objects in GUI map?
a)You can modify the logical name or the physical description of an object in a GUI map file using the GUI Map Editor.
31)When do you feel you need to modify the logical name?
a)Changing
the logical name of an object is useful when the assigned logical name
is not sufficiently descriptive or is too long.
32)When it is appropriate to change physical description?
a)Changing the physical description is necessary when the property value of an object changes.
33)How WinRunner handles varying window labels?
a)We
can handle varying window labels using regular expressions. WinRunner
uses two “hidden” properties in order to use regular expression in an
object’s physical description. These properties are regexp_label and
regexp_MSW_class.
i.The regexp_label property is used for windows
only. It operates “behind the scenes” to insert a regular expression
into a window’s label description.
ii.The regexp_MSW_class
property inserts a regular expression into an object’s MSW_class. It is
obligatory for all types of windows and for the object class object.
34)What is the purpose of regexp_label property and regexp_MSW_class property?
a)The
regexp_label property is used for windows only. It operates “behind the
scenes” to insert a regular expression into a window’s label
description.
b)The regexp_MSW_class property inserts a regular
expression into an object’s MSW_class. It is obligatory for all types
of windows and for the object class object.
35)How do you suppress a regular expression?
a)We can suppress the regular expression of a window by replacing the regexp_label property with label property.
36)How do you copy and move objects between different GUI map files?
a)We can copy and move objects between different GUI Map files using the GUI Map Editor. The steps to be followed are:
i.Choose Tools > GUI Map Editor to open the GUI Map Editor.
ii.Choose View > GUI Files.
iii.Click Expand in the GUI Map Editor. The dialog box expands to display two GUI map files simultaneously.
iv.View a different GUI map file on each side of the dialog box by clicking the file names in the GUI File lists.
v.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
objects in a GUI map file, choose Edit > Select All.
vi.Click Copy or Move.
vii.To restore the GUI Map Editor to its original size, click Collapse.
37)How do you select multiple objects during merging the files?
a)Use
the Shift key and/or Control key to select multiple objects. To select
all objects in a GUI map file, choose Edit > Select All.
38)How do you clear a GUI map files?
a)We can clear a GUI Map file using the “Clear All” option in the GUI Map Editor.
39)How do you filter the objects in the GUI map?
a)GUI Map Editor has a Filter option. This provides for filtering with 3 different types of options.
i.Logical name displays only objects with the specified logical name.
ii.Physical
description displays only objects matching the specified physical
description. Use any substring belonging to the physical description.
iii.Class displays only objects of the specified class, such as all the push buttons.
40)How do you configure GUI map?
a)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.
b)Many applications
also contain custom GUI objects. A custom object is any object not
belonging 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.
c)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 the configuration you set are 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.
41)What is the purpose of GUI map configuration?
a)GUI Map configuration is used to map a custom object to a standard object.
42)How do you make the configuration and mappings permanent?
a)The
mapping and the configuration you set are 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.
43)What is the purpose of GUI spy?
a)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.
44)What is the purpose of obligatory and optional properties of the objects?
a)For each class, WinRunner learns a set of default properties. Each default property is classified “obligatory” or “optional”.
i.An obligatory property is always learned (if it exists).
ii.An
optional property is used only if the obligatory properties do not
provide unique identification of an object. These optional properties
are stored in a list. WinRunner selects the minimum number of
properties from this list that are necessary to identify the object. It
begins with the first property in the list, and continues, if
necessary, to add properties to the description until it obtains unique
identification for the object.
45)When the optional properties are learned?
a)An optional property is used only if the obligatory properties do not provide unique identification of an object.
46)What is the purpose of location indicator and index indicator in GUI map configuration?
a)In
cases where the obligatory and optional properties do not uniquely
identify an object, WinRunner uses a selector to differentiate between
them. Two types of selectors are available:
i.A location selector uses the spatial position of objects.
1.The
location selector uses the spatial order of objects within the window,
from the top left to the bottom right corners, to differentiate among
objects with the same description.
ii.An index selector uses a unique number to identify the object in a window.
1.The
index selector uses numbers assigned at the time of creation of objects
to identify the object in a window. Use this selector if the location
of objects with the same description may change within a window.
47)How do you handle custom objects?
a)A
custom object is any GUI object not belonging to one of the standard
classes used by WinRunner. WinRunner learns such objects under the
generic “object” class. WinRunner records operations on custom objects
using obj_mouse_ statements.
b)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.
48)What is the name of custom class in WinRunner and what methods it applies on the custom objects?
a)WinRunner
learns custom class objects under the generic “object” class. WinRunner
records operations on custom objects using obj_ statements.
49)In
a situation when obligatory and optional both the properties cannot
uniquely identify an object what method WinRunner applies?
a)In
cases where the obligatory and optional properties do not uniquely
identify an object, WinRunner uses a selector to differentiate between
them. Two types of selectors are available:
i.A location selector uses the spatial position of objects.
ii.An index selector uses a unique number to identify the object in a window.
50)What is the purpose of different record methods 1) Record 2) Pass up 3) As Object 4) Ignore.
a)
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.)
b)Pass Up instructs WinRunner to record an operation
performed on 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.
c)As Object instructs WinRunner to record all operations performed on a GUI object as though its class were “object” class.
d)Ignore instructs WinRunner to disregard all operations performed on the class.
51)How do you find out which is the start up file in WinRunner?
a)The
test script name in the Startup Test box in the Environment tab in the
General Options dialog box is the start up file in WinRunner.
52)What are the virtual objects and how do you learn them?
a)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.
b)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.
To define a virtual object using the Virtual Object wizard:
i.Choose Tools > Virtual Object Wizard. The Virtual Object wizard opens. Click Next.
ii.In
the Class list, select a class for the new virtual object. If rows that
are displayed in the window. For a table class, select the number of
visible rows and columns. Click Next.
iii.Click Mark Object. 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.
iv.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.
v.You can accept the wizard’s suggestion or type in a different
name. WinRunner checks that there are no other objects in the GUI map
with the same name before confirming your choice. Click Next.
53)How you created you test scripts 1) by recording or 2) programming?
a)Programming. I have done complete programming only, absolutely no recording.
54)What are the two modes of recording?
a)There are 2 modes of recording in WinRunner
i.Context
Sensitive recording records the operations you perform on your
application by identifying Graphical User Interface (GUI) objects.
ii.Analog
recording records keyboard input, mouse clicks, and the precise x- and
y-coordinates traveled by the mouse pointer across the screen.
55)What is a checkpoint and what are different types of checkpoints?
a)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:
i.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.
ii.Bitmap checkpoints take a “snapshot” of a window or area of your
application and compare this to an image captured in an earlier
version.
iii.Text checkpoints read text in GUI objects and in bitmaps and enable you to verify their contents.
iv.Database
checkpoints check the contents and the number of rows and columns of a
result set, which is based on a query you create on your database.
56)What are data driven tests? ####
a)When
you test your application, you may want to check how it performs the
same operations with multiple sets of data. You can create a
data-driven test with a loop that runs ten times: each time the loop
runs, it is driven by a different set of data. In order for WinRunner
to use data to drive the test, you must link the data to the test
script which it drives. This is called parameterizing your test. The
data is stored in a data table. You can perform these operations
manually, or you can use the DataDriver Wizard to parameterize your
test and store the data in a data table.
57)What are the synchronization points?
a)Synchronization
points enable you to solve anticipated timing problems between the test
and your application. For example, if you create a test that opens a
database application, you can add a synchronization point that causes
the test to wait until the database records are loaded on the screen.
b)For
Analog testing, you can also use a synchronization point to ensure that
WinRunner repositions a window at a specific location. When you run a
test, the mouse cursor travels along exact coordinates. Repositioning
the window enables the mouse pointer to make contact with the correct
elements in the window.
58)What is parameterizing?
a)In order
for WinRunner to use data to drive the test, you must link the data to
the test script which it drives. This is called parameterizing your
test. The data is stored in a data table.
59)How do you maintain the document information of the test scripts?
a)Before
creating a test, you can document information about the test in the
General and Description tabs of the Test Properties dialog box. You can
enter the name of the test author, the type of functionality tested, a
detailed description of the test, and a reference to the relevant
functional specifications document.
60)What do you verify with the GUI checkpoint for single property and what command it generates, explain syntax?
a)You
can check a single property of a GUI object. For example, you can check
whether a button is enabled or disabled or whether an item in a list is
selected. To create a GUI checkpoint for a property value, use the
Check Property dialog box to add one of the following functions to the
test script:
i.button_check_info
ii.scroll_check_info
iii.edit_check_info
iv.static_check_info
v.list_check_info
vi.win_check_info
vii.obj_check_info
Syntax: button_check_info (button, property, property_value );
e.g. button_check_info (btnsave,enabled,true);
edit_check_info ( edit, property, property_value );
e.g. edit_check_info(txtname,visible,false);
61)What do you verify with the GUI checkpoint for object/window and what command it generates, explain syntax?
a)You
can create a GUI checkpoint to check a single object in the application
being tested. You can either check the object with its default
properties or you can specify which properties to check.
b)Creating a GUI Checkpoint using the Default Checks
i.You
can create a GUI checkpoint that performs a default check on the
property recommended by WinRunner. For example, if you create a GUI
checkpoint that checks a push button, the default check verifies that
the push button is enabled.
ii.To create a GUI checkpoint using default checks:
1.Choose
Create > GUI Checkpoint > For Object/Window, or click the GUI
Checkpoint for Object/Window button on the User toolbar. If you are
recording in Analog mode, press the CHECK GUI FOR OBJECT/WINDOW softkey
in order to avoid extraneous mouse movements. Note that you can press
the CHECK GUI FOR OBJECT/WINDOW softkey in Context Sensitive mode as
well. The WinRunner window is minimized, the mouse pointer becomes a
pointing hand, and a help window opens on the screen.
2.Click an object.
3.WinRunner
captures the current value of the property of the GUI object being
checked and stores it in the test’s expected results folder. The
WinRunner window is restored and a GUI checkpoint is inserted in the
test script as an obj_check_gui statement
Syntax: win_check_gui ( window, checklist, expected_results_file, time );
c)Creating a GUI Checkpoint by Specifying which Properties to Check
d)You
can specify which properties to check for an object. For example, if
you create a checkpoint that checks a push button, you can choose to
verify that it is in focus, instead of enabled.
e)To create a GUI checkpoint by specifying which properties to check:
i.Choose
Create > GUI Checkpoint > For Object/Window, or click the GUI
Checkpoint for Object/Window button on the User toolbar. If you are
recording in Analog mode, press the CHECK GUI FOR OBJECT/WINDOW softkey
in order to avoid extraneous mouse movements. Note that you can press
the CHECK GUI FOR OBJECT/WINDOW softkey in Context Sensitive mode as
well. The WinRunner window is minimized, the mouse pointer becomes a
pointing hand, and a help window opens on the screen.
ii.Double-click the object or window. The Check GUI dialog box opens.
iii.Click an object name in the Objects pane. The Properties pane lists all the properties for the selected object.
iv.Select the properties you want to check.
1.
To edit the expected value of a property, first select it. Next, either
click the Edit Expected Value button, or double-click the value in the
Expected Value column to edit it.
2.To add a check in which you
specify arguments, first select the property for which you want to
specify arguments. Next, either click the Specify Arguments button, or
double-click in the Arguments column. Note that if an ellipsis (three
dots) appears in the Arguments column, then you must specify arguments
for a check on this property. (You do not need to specify arguments if
a default argument is specified.) When checking standard objects, you
only specify arguments for certain properties of edit and static text
objects. You also specify arguments for checks on certain properties of
nonstandard objects.
3.To change the viewing options for the properties of an object, use the Show Properties buttons.
4.Click
OK to close the Check GUI dialog box. WinRunner captures the GUI
information and stores it in the test’s expected results folder. The
WinRunner window is restored and a GUI checkpoint is inserted in the
test script as an obj_check_gui or a win_check_gui statement.
Syntax: win_check_gui ( window, checklist, expected_results_file, time );
obj_check_gui ( object, checklist, expected results file, time );
62)What do you verify with the GUI checkpoint for multiple objects and what command it generates, explain syntax?
a)To create a GUI checkpoint for two or more objects:
i.Choose
Create > GUI Checkpoint > For Multiple Objects or click the GUI
Checkpoint for Multiple Objects button on the User toolbar. If you are
recording in Analog mode, press the CHECK GUI FOR MULTIPLE OBJECTS
softkey in order to avoid extraneous mouse movements. The Create GUI
Checkpoint dialog box opens.
ii.Click the Add button. The mouse pointer becomes a pointing hand and a help window opens.
iii.To
add an object, click it once. If you click a window title bar or menu
bar, a help window prompts you to check all the objects in the window.
iv.The
pointing hand remains active. You can continue to choose objects by
repeating step 3 above for each object you want to check.
v.Click
the right mouse button to stop the selection process and to restore the
mouse pointer to its original shape. The Create GUI Checkpoint dialog
box reopens.
vi.The Objects pane contains the name of the window and
objects included in the GUI checkpoint. To specify which objects to
check, click an object name in the Objects pane. The Properties pane
lists all the properties of the object. The default properties are
selected.
1.To edit the expected value of a property, first select
it. Next, either click the Edit Expected Value button, or double-click
the value in the Expected Value column to edit it.
2.To add a
check in which you specify arguments, first select the property for
which you want to specify arguments. Next, either click the Specify
Arguments button, or double-click in the Arguments column. Note that if
an ellipsis appears in the Arguments column, then you must specify
arguments for a check on this property. (You do not need to specify
arguments if a default argument is specified.) When checking standard
objects, you only specify arguments for certain properties of edit and
static text objects. You also specify arguments for checks on certain
properties of nonstandard objects.
3.To change the viewing options for the properties of an object, use the Show Properties buttons.
vii.To
save the checklist and close the Create GUI Checkpoint dialog box,
click OK. WinRunner captures the current property values of the
selected GUI objects and stores it in the expected results folder. A
win_check_gui statement is inserted in the test script.
Syntax: win_check_gui ( window, checklist, expected_results_file, time );
obj_check_gui ( object, checklist, expected results file, time );
63)What information is contained in the checklist file and in which file expected results are stored?
a)The checklist file contains information about the objects and the properties of the object we are verifying.
b)The gui*.chk file contains the expected results which is stored in the exp folder
64)What do you verify with the bitmap check point for object/window and what command it generates, explain syntax?
a)You
can check an object, a window, or an area of a screen in your
application as a bitmap. While creating a test, you indicate what you
want to check. WinRunner captures the specified bitmap, stores it in
the expected results folder (exp) of the test, and inserts a checkpoint
in the test script. When you run the test, WinRunner compares the
bitmap currently displayed in the application being tested with the
expected bitmap stored earlier. In the event of a mismatch, WinRunner
captures the current actual bitmap and generates a difference bitmap.
By comparing the three bitmaps (expected, actual, and difference), you
can identify the nature of the discrepancy.
b)When working in
Context Sensitive mode, you can capture a bitmap of a window, object,
or of a specified area of a screen. WinRunner inserts a checkpoint in
the test script in the form of either a win_check_bitmap or
obj_check_bitmap statement.
c)Note that when you record a test in
Analog mode, you should press the CHECK BITMAP OF WINDOW softkey or the
CHECK BITMAP OF SCREEN AREA softkey to create a bitmap checkpoint. This
prevents WinRunner from recording extraneous mouse movements. If you
are programming a test, you can also use the Analog function
check_window to check a bitmap.
d)To capture a window or object as a bitmap:
i.Choose
Create > Bitmap Checkpoint > For Object/Window or click the
Bitmap Checkpoint for Object/Window button on the User toolbar.
Alternatively, if you are recording in Analog mode, press the CHECK
BITMAP OF OBJECT/WINDOW softkey. The WinRunner window is minimized, the
mouse pointer becomes a pointing hand, and a help window opens.
ii.Point
to the object or window and click it. WinRunner captures the bitmap and
generates a win_check_bitmap or obj_check_bitmap statement in the
script. The TSL statement generated for a window bitmap has the
following syntax:
win_check_bitmap ( object, bitmap, time );
iii.For an object bitmap, the syntax is:
obj_check_bitmap ( object, bitmap, time );
iv.For
example, when you click the title bar of the main window of the Flight
Reservation application, the resulting statement might be:
win_check_bitmap ("Flight Reservation", "Img2", 1);
v.However, if you click the Date of Flight box in the same window, the statement might be:
obj_check_bitmap ("Date of Flight:", "Img1", 1);
Syntax: obj_check_bitmap ( object, bitmap, time [, x, y, width, height] );
65)What do you verify with the bitmap checkpoint for screen area and what command it generates, explain syntax?
a)You
can define any rectangular area of the screen and capture it as a
bitmap for comparison. The area can be any size: it can be part of a
single window, or it can intersect several windows. The rectangle is
identified by the coordinates of its upper left and lower right
corners, relative to the upper left corner of the window in which the
area is located. If the area intersects several windows or is part of a
window with no title (for example, a popup window), its coordinates are
relative to the entire screen (the root window).
b)To capture an area of the screen as a bitmap:
i.Choose
Create > Bitmap Checkpoint > For Screen Area or click the Bitmap
Checkpoint for Screen Area button. Alternatively, if you are recording
in Analog mode, press the CHECK BITMAP OF SCREEN AREA softkey. The
WinRunner window is minimized, the mouse pointer becomes a crosshairs
pointer, and a help window opens.
ii.Mark the area to be captured:
press the left mouse button and drag the mouse pointer until a
rectangle encloses the area; then release the mouse button.
iii.Press
the right mouse button to complete the operation. WinRunner captures
the area and generates a win_check_bitmap statement in your script.
iv.The win_check_bitmap statement for an area of the screen has the following
syntax:
win_check_bitmap ( window, bitmap, time, x, y, width, height );
66)What do you verify with the database checkpoint default and what command it generates, explain syntax?
a)By
adding runtime database record checkpoints you can compare the
information in your application during a test run with the
corresponding record in your database. By adding standard database
checkpoints to your test scripts, you can check the contents of
databases in different versions of your application.
b)When you
create database checkpoints, you define a query on your database, and
your database checkpoint checks the values contained in the result set.
The result set is set of values retrieved from the results of the query.
c)You
can create runtime database record checkpoints in order to compare the
values displayed in your application during the test run with the
corresponding values in the database. If the comparison does not meet
the success criteria you
d)specify for the checkpoint, the
checkpoint fails. You can define a successful runtime database record
checkpoint as one where one or more matching records were found,
exactly one matching record was found, or where no matching records are
found.
e)You can create standard database checkpoints to compare the
current values of the properties of the result set during the test run
to the expected values captured during recording or otherwise set
before the test run. If the expected results and the current results do
not match, the database checkpoint fails. Standard database checkpoints
are useful when the expected results can be established before the test
run.
Syntax: db_check(, );
f)You
can add a runtime database record checkpoint to your test in order to
compare information that appears in your application during a test run
with the current value(s) in the corresponding record(s) in your
database. You add runtime database record checkpoints by running the
Runtime Record Checkpoint wizard. When you are finished, the wizard
inserts the appropriate db_record_check statement into your script.
Syntax:
db_record_check(ChecklistFileName,SuccessConditions,RecordNumber );
ChecklistFileName
A file created by WinRunner and saved in the test's checklist folder.
The file contains information about the data to be captured during the
test run and its corresponding field in the database. The file is
created based on the information entered in the Runtime Record
Verification wizard.
SuccessConditionsContains one of the following values:
1.DVR_ONE_OR_MORE_MATCH - The checkpoint passes if one or more matching database records are found.
2.DVR_ONE_MATCH - The checkpoint passes if exactly one matching database record is found.
3.DVR_NO_MATCH - The checkpoint passes if no matching database records are found.
RecordNumber An out parameter returning the number of records in the database.
67)How do you handle dynamically changing area of the window in the bitmap checkpoints?
a)The
difference between bitmaps option in the Run Tab of the general options
defines the minimum number of pixels that constitute a bitmap mismatch
68)What do you verify with the database check point custom and what command it generates, explain syntax?
a)When
you create a custom check on a database, you create a standard database
checkpoint in which you can specify which properties to check on a
result set.
b)You can create a custom check on a database in order to:
i.check the contents of part or the entire result set
ii.edit the expected results of the contents of the result set
iii.count the rows in the result set
iv.count the columns in the result set
c)You can create a custom check on a database using ODBC, Microsoft Query or Data Junction.
69)What do you verify with the sync point for object/window property and what command it generates, explain syntax?
a)Synchronization
compensates for inconsistencies in the performance of your application
during a test run. By inserting a synchronization point in your test
script, you can instruct WinRunner to suspend the test run and wait for
a cue before continuing the test.
b)You can a synchronization point
that instructs WinRunner to wait for a specified object or window to
appear. For example, you can tell WinRunner to wait for a window to
open before performing an operation within that window, or you may want
WinRunner to wait for an object to appear in order to perform an
operation on that object.
c)You use the obj_exists function to
create an object synchronization point, and you use the win_exists
function to create a window synchronization point. These functions have
the following syntax:
Syntax:
obj_exists (object[,time]);
win_exists (window[,time]);
70)What do you verify with the sync point for object/window bitmap and what command it generates, explain syntax?
a)You
can create a bitmap synchronization point that waits for the bitmap of
an object or a window to appear in the application being tested.
b)During
a test run, WinRunner suspends test execution until the specified
bitmap is redrawn, and then compares the current bitmap with the
expected one captured earlier. If the bitmaps match, then WinRunner
continues the test.
Syntax:
obj_wait_bitmap ( object, image, time );
win_wait_bitmap ( window, image, time );
71)What do you verify with the sync point for screen area and what command it generates, explain syntax?
a)For
screen area verification we actually capture the screen area into a
bitmap and verify the application screen area with the bitmap file
during execution
Syntax: obj_wait_bitmap(object, image, time, x, y, width, height);
72)How do you edit checklist file and when do you need to edit the checklist file?
a)WinRunner
has an edit checklist file option under the create menu. Select the
“Edit GUI Checklist” to modify GUI checklist file and “Edit Database
Checklist” to edit database checklist file. This brings up a dialog box
that gives you option to select the checklist file to modify. There is
also an option to select the scope of the checklist file, whether it is
Test specific or a shared one. Select the checklist file, click OK
which opens up the window to edit the properties of the objects.
73)How do you edit the expected value of an object?
a)We
can modify the expected value of the object by executing the script in
the Update mode. We can also manually edit the gui*.chk file which
contains the expected values which come under the exp folder to change
the values.
74)How do you modify the expected results of a GUI checkpoint?
a)We can modify the expected results of a GUI checkpoint be running the script containing the checkpoint in the update mode.
75)How do you handle ActiveX and Visual basic objects?
a)WinRunner
provides with add-ins for ActiveX and Visual basic objects. When
loading WinRunner, select those add-ins and these add-ins provide with
a set of functions to work on ActiveX and VB objects.
76)How do you create ODBC query?
a)We
can create ODBC query using the database checkpoint wizard. It provides
with option to create an SQL file that uses an ODBC DSN to connect to
the database. The SQL File will contain the connection string and the
SQL statement.
77)How do you record a data driven test?
a)We can create a data-driven testing using data from a flat file, data table or a database.
i.Using
Flat File: we actually store the data to be used in a required format
in the file. We access the file using the File manipulation commands,
reads data from the file and assign the variables with data.
ii.Data
Table: It is an excel file. We can store test data in these files and
manipulate them. We use the ‘ddt_*’ functions to manipulate data in the
data table.
iii.Database: we store test data in the database and access these data using ‘db_*’ functions.
78)How do you convert a database file to a text file?
a)You can use Data Junction to create a conversion file which converts a database to a target text file.
79)How do you parameterize database check points?
a)When
you create a standard database checkpoint using ODBC (Microsoft Query),
you can add parameters to an SQL statement to parameterize the
checkpoint. This is useful if you want to create a database checkpoint
with a query in which the SQL statement defining your query changes.
80)How do you create parameterize SQL commands?
a)A
parameterized query is a query in which at least one of the fields of
the WHERE clause is parameterized, i.e., the value of the field is
specified by a question mark symbol ( ? ). For example, the following
SQL statement is based on a query on the database in the sample Flight
Reservation application:
i.SELECT Flights.Departure,
Flights.Flight_Number, Flights.Day_Of_Week FROM Flights Flights WHERE
(Flights.Departure=?) AND (Flights.Day_Of_Week=?)
SELECT defines the columns to include in the query.
FROM specifies the path of the database.
WHERE (optional) specifies the conditions, or filters to use in the query.
Departure is the parameter that represents the departure point of a flight.
Day_Of_Week is the parameter that represents the day of the week of a flight.
b)When
creating a database checkpoint, you insert a db_check statement into
your test script. When you parameterize the SQL statement in your
checkpoint, the db_check function has a fourth, optional, argument: the
parameter_array argument. A statement similar to the following is
inserted into your test script:
db_check("list1.cdl", "dbvf1", NO_LIMIT, dbvf1_params);
The parameter_array argument will contain the values to substitute for the parameters in the parameterized checkpoint.
81)Explain the following commands:
a)db_connect
i.to connect to a database
db_connect(, );
b)db_execute_query
i.to execute a query
db_execute_query ( session_name, SQL, record_number );
record_number is the out value.
c)db_get_field_value
i.returns the value of a single field in the specified row_index and column in the session_name database session.
db_get_field_value ( session_name, row_index, column );
d)db_get_headers
i.returns the number of column headers in a query and the content of the column headers, concatenated and delimited by tabs.
db_get_headers ( session_name, header_count, header_content );
e)db_get_row
i.returns the content of the row, concatenated and delimited by tabs.
db_get_row ( session_name, row_index, row_content );
f)db_write_records
i.writes the record set into a text file delimited by tabs.
db_write_records ( session_name, output_file [ , headers [ , record_limit ] ] );
g)db_get_last_error
i.returns the last error message of the last ODBC or Data Junction operation in the session_name database session.
db_get_last_error ( session_name, error );
h)db_disconnect
i.disconnects from the database and ends the database session.
db_disconnect ( session_name );
i)db_dj_convert
i.runs
the djs_file Data Junction export file. When you run this file, the
Data Junction Engine converts data from one spoke (source) to another
(target). The optional parameters enable you to override the settings
in the Data Junction export file.
db_dj_convert ( djs_file [ , output_file [ , headers [ , record_limit ] ] ] );
82)What check points you will use to read and check text on the GUI and explain its syntax?
a)You
can use text checkpoints in your test scripts to read and check text in
GUI objects and in areas of the screen. While creating a test you point
to an object or a window containing text. WinRunner reads the text and
writes a TSL statement to the test script. You may then add simple
programming elements to your test scripts to verify the contents of the
text.
b)You can use a text checkpoint to:
i.Read text from a GUI object or window in your application, using obj_get_text and win_get_text
ii.Search for text in an object or window, using win_find_text and obj_find_text
iii.Move the mouse pointer to text in an object or window, using obj_move_locator_text and win_move_locator_text
iv.Click on text in an object or window, using obj_click_on_text and win_click_on_text
83)Explain Get Text checkpoint from object/window with syntax?
a)We use obj_get_text (, ) function to get the text from an object
b)We use win_get_text (window, out_text [, x1, y1, x2, y2]) function to get the text from a window.
84)Explain Get Text checkpoint from screen area with syntax?
a)We use win_get_text (window, out_text [, x1, y1, x2, y2]) function to get the text from a window.
85)Explain Get Text checkpoint from selection (web only) with syntax?
a)Returns a text string from an object.
web_obj_get_text (object, table_row, table_column, out_text [, text_before, text_after, index]);
i.object The logical name of the object.
ii.table_row
If the object is a table, it specifies the location of the row within a
table. The string is preceded by the # character.
iii.table_column
If the object is a table, it specifies the location of the column
within a table. The string is preceded by the # character.
iv.out_text The output variable that stores the text string.
v.text_before Defines the start of the search area for a particular text string.
vi.text_after Defines the end of the search area for a particular text string.
vii.index The occurrence number to locate. (The default parameter number is numbered 1).
86)Explain Get Text checkpoint web text checkpoint with syntax?
a)We use web_obj_text_exists function for web text checkpoints.
web_obj_text_exists ( object, table_row, table_column, text_to_find [, text_before, text_after] );
a.object The logical name of the object to search.
b.table_row
If the object is a table, it specifies the location of the row within a
table. The string is preceded by the character #.
c.table_column
If the object is a table, it specifies the location of the column
within a table. The string is preceded by the character #.
d.text_to_find The string that is searched for.
e.text_before Defines the start of the search area for a particular text string.
f.text_after Defines the end of the search area for a particular text string.
87)Which TSL functions you will use for
a)Searching text on the window
i.find_text ( string, out_coord_array, search_area [, string_def ] );
string
The string that is searched for. The string must be complete, contain
no spaces, and it must be preceded and followed by a space outside the
quotation marks. To specify a literal, case-sensitive string, enclose
the string in quotation marks. Alternatively, you can specify the name
of a string variable. In this case, the string variable can include a
regular expression.
out_coord_array The name of the array that stores the screen coordinates of the text (see explanation below).
search_area
The area to search, specified as coordinates x1,y1,x2,y2. These define
any two diagonal corners of a rectangle. The interpreter searches for
the text in the area defined by the rectangle.
string_def
Defines the type of search to perform. If no value is specified, (0 or
FALSE, the default), the search is for a single complete word only.
When 1, or TRUE, is specified, the search is not restricted to a
single, complete word.
b)getting the location of the text string
i.win_find_text ( window, string, result_array [, search_area [, string_def ] ] );
window The logical name of the window to search.
string
The text to locate. To specify a literal, case sensitive string,
enclose the string in quotation marks. Alternatively, you can specify
the name of a string variable. The value of the string variable can
include a regular expression. The regular expression should not include
an exclamation mark (!), however, which is treated as a literal
character. For more information regarding Regular Expressions, refer to
the "Using Regular Expressions" chapter in your User's Guide.
result_array The name of the output variable that stores the location of the string as a four-element array.
search_area
The region of the object to search, relative to the window. This area
is defined as a pair of coordinates, with x1,y1,x2,y2 specifying any
two diagonally opposite corners of the rectangular search region. If
this parameter is not defined, then the entire window is considered the
search area.
string_def Defines how the text search is
performed. If no string_def is specified, (0 or FALSE, the default
parameter), the interpreter searches for a complete word only. If 1, or
TRUE, is specified, the search is not restricted to a single, complete
word.
c)Moving the pointer to that text string
i.win_move_locator_text (window, string [ ,search_area [ ,string_def ] ] );
window The logical name of the window.
string
The text to locate. To specify a literal, case sensitive string,
enclose the string in quotation marks. Alternatively, you can specify
the name of a string variable. The value of the string variable can
include a regular expression (the regular expression need not begin
with an exclamation mark).
search_area The region of the object
to search, relative to the window. This area is defined as a pair of
coordinates, with x1, y1, x2, y2 specifying any two diagonally opposite
corners of the rectangular search region. If this parameter is not
defined, then the entire window specified is considered the search area.
string_def
Defines how the text search is performed. If no string_def is
specified, (0 or FALSE, the default parameter), the interpreter
searches for a complete word only. If 1, or TRUE, is specified, the
search is not restricted to a single, complete word.
d)Comparing the text
i.compare_text (str1, str2 [, chars1, chars2]);
str1, str2 The two strings to be compared.
chars1 One or more characters in the first string.
chars2 One or more characters in the second string. These characters are substituted for those in chars1.
88)What are the steps of creating a data driven test?
a)The steps involved in data driven testing are:
i.Creating a test
ii.Converting to a data-driven test and preparing a database
iii.Running the test
iv.Analyzing the test results.
89)Record a data driven test script using data driver wizard?
a)You
can use the DataDriver Wizard to convert your entire script or a part
of your script into a data-driven test. For example, your test script
may include recorded operations, checkpoints, and other statements that
do not need to be repeated for multiple sets of data. You need to
parameterize only the portion of your test script that you want to run
in a loop with multiple sets of data.
To create a data-driven test:
i.If you want to turn only part of your test script into a data-driven test, first select those lines in the test script.
ii.Choose Tools > DataDriver Wizard.
iii.If
you want to turn only part of the test into a data-driven test, click
Cancel. Select those lines in the test script and reopen the DataDriver
Wizard. If you want to turn the entire test into a data-driven test,
click Next.
iv.The Use a new or existing Excel table box displays
the name of the Excel file that WinRunner creates, which stores the
data for the data-driven test. Accept the default data table for this
test, enter a different name for the data table, or use
v.The browse button to locate the path of an existing data table. By default, the data table is stored in the test folder.
vi.In
the Assign a name to the variable box, enter a variable name with which
to refer to the data table, or accept the default name, “table.”
vii.At
the beginning of a data-driven test, the Excel data table you selected
is assigned as the value of the table variable. Throughout the script,
only the table variable name is used. This makes it easy for you to
assign a different data table
viii.To the script at a later time without making changes throughout the script.
ix.Choose from among the following options:
1.Add
statements to create a data-driven test: Automatically adds statements
to run your test in a loop: sets a variable name by which to refer to
the data table; adds braces ({and}), a for statement, and a
ddt_get_row_count statement to your test script selection to run it in
a loop while it reads from the data table; adds ddt_open and ddt_close
statements
2.To your test script to open and close the data table,
which are necessary in order to iterate rows in the table. Note that
you can also add these statements to your test script manually.
3.If
you do not choose this option, you will receive a warning that your
data-driven test must contain a loop and statements to open and close
your datatable.
4.Import data from a database: Imports data from a
database. This option adds ddt_update_from_db, and ddt_save statements
to your test script after the ddt_open statement.
5.Note that in
order to import data from a database, either Microsoft Query or Data
Junction must be installed on your machine. You can install Microsoft
Query from the custom installation of Microsoft Office. Note that Data
Junction is not automatically included in your WinRunner package. To
purchase Data Junction, contact your Mercury Interactive
representative. For detailed information on working with Data Junction,
refer to the documentation in the Data Junction package.
6.Parameterize
the test: Replaces fixed values in selected checkpoints and in recorded
statements with parameters, using the ddt_val function, and in the data
table, adds columns with variable values for the parameters. Line by
line: Opens a wizard screen for each line of the selected test script,
which enables you to decide whether to parameterize a particular line,
and if so, whether to add a new column to the data table or use an
existing column when parameterizing data.
7.Automatically: Replaces
all data with ddt_val statements and adds new columns to the data
table. The first argument of the function is the name of the column in
the data table. The replaced data is inserted into the table.
x.The
Test script line to parameterize box displays the line of the test
script to parameterize. The highlighted value can be replaced by a
parameter. The Argument to be replaced box displays the argument
(value) that you can replace with a parameter. You can use the arrows
to select a different argument to replace.
Edited by Mithi25 - 20Jul2009 at 12:02am