Tuesday, May 26, 2009

Speed Test
by Absolute Futurity

Win Runner material

Win Runner
WinRunner, Mercury Interactive’s enterprise functional testing tool. It is used to quickly create and run sophisticated automated tests on your application. Winrunner helps you automate the testing process, from test development to execution. You create adaptable and reusable test scripts that challenge the functionality of your application. Prior to a software release, you can run these tests in a single overnight run- enabling you to detect and ensure superior software quality.
What's New in WinRunner 7.5?

Automatic Recovery
The Recovery Manager provides an easy-to-use wizard that guides you through the process of defining a recovery scenario. You can specify one or more operations that enable the test run to continue after an exception event occurs. This functionality is especially useful during unattended test runs, when errors or crashes could interrupt the testing process until manual intervention occurs.
Silent Installation
Now you can install WinRunner in an unattended mode using previously recorded installation preferences. This feature is especially beneficial for those who use enterprise software management products or any automated software distribution mechanisms.
Enhanced Integration with TestDirector
WinRunner works with both TestDirector 6.0, which is client/server-based, and TestDirector 7.x, which is Web-based. When reporting defects from WinRunner’s test results window, basic information about the test and any checkpoints can be automatically populated in TestDirector’s defect form. WinRunner now supports version control, which enables updating and revising test scripts while maintaining old versions of each test.
Support for Terminal Servers
Support for Citrix and Microsoft Terminal Servers makes it possible to open several window clients and run WinRunner on each client as a single user. Also, this can be used with LoadRunner to run multiple WinRunner Vusers.
Support for More Environments
WinRunner 7.5 includes support for Internet Explorer 6.x and Netscape 6.x, Windows XP and Sybase's PowerBuilder 8, in addition to 30+ environments already supported by WinRunner 7.
WinRunner provides the most powerful, productive and cost-effective solution for verifying enterprise application functionality. For more information on WinRunner, contact a Mercury Interactive local representative for pricing, evaluation, and distribution information.
WinRunner(Features & Benefits)

Test functionality using multiple data combinations in a single test
WinRunner's DataDriver Wizard eliminates programming to automate testing for large volumes of data. This saves testers significant amounts of time preparing scripts and allows for more thorough testing.
Significantly increase power and flexibility of tests without any programming
The Function Generator presents a quick and error-free way to design tests and enhance scripts without any programming knowledge. Testers can simply point at a GUI object, and WinRunner will examine it, determine its class and suggest an appropriate function to be used.
Use multiple verification types to ensure sound functionality
WinRunner provides checkpoints for text, GUI, bitmaps, URL links and the database, allowing testers to compare expected and actual outcomes and identify potential problems with numerous GUI objects and their functionality.
Verify data integrity in your back-end database
Built-in Database Verification confirms values stored in the database and ensures transaction accuracy and the data integrity of records that have been updated, deleted and added.
View, store and verify at a glance every attribute of tested objects
WinRunner’s GUI Spy automatically identifies, records and displays the properties of standard GUI objects, ActiveX controls, as well as Java objects and methods. This ensures that every object in the user interface is recognized by the script and can be tested.
Maintain tests and build reusable scripts
The GUI map provides a centralized object repository, allowing testers to verify and modify any tested object. These changes are then automatically propagated to all appropriate scripts, eliminating the need to build new scripts each time the application is modified.
Test multiple environments with a single application
WinRunner supports more than 30 environments, including Web, Java, Visual Basic, etc. In addition, it provides targeted solutions for such leading ERP/CRM applications as SAP, Siebel, PeopleSoft and a number of others

NAVIGATIONAL STEPS FOR WINRUNNER LAB-EXERCISES

Using Rapid Test Script wizard
• Start->Program Files->Winrunner->winruner
• Select the Rapid Test Script Wizard (or) create->Rapid Test Script wizard
• Click Next button of welcome to script wizard
• Select hand icon and click on Application window and Cilck Next button
• Select the tests and click Next button
• Select Navigation controls and Click Next button
• Set the Learning Flow(Express or Comprehensive) and click Learn button
• Select start application YES or NO, then click Next button
• Save the Startup script and GUI map files, click Next button
• Save the selected tests, click Next button
• Click Ok button
• Script will be generated.then run the scripts. Run->Run from top
• Find results of each script and select tools->text report in Winrunner test results.
Using GUI-Map Configuration Tool:
• Open an application.
• Select Tools-GUI Map Configuration;Windows pops-up.
• Click ADD button;Click on hand icon.
• Click on the object, which is to be configured. A user-defined class for that object is added to list.
• Select User-defined class you added and press ‘Configure’ button.
• Mapped to Class;(Select a corresponding stanadard class from the combo box).
• You can move the properties from available properties to Learned Properties. By selecting Insert button
• Select the Selector and recording methods.
• Click Ok button
• Now, you will observe Winrunner indentifying the configured objects.
Using Record-ContextSensitive mode:
• Create->Record context Sensitive
• Select start->program files->Accessories->Calculator
• Do some action on the application.
• Stop recording
• Run from Top; Press ‘OK’.
Using Record-Analog Mode:
• Create->Insert Function->from function generator
• Function nameselect ‘invoke_application’ from combo box).
• Click Args button; File: mspaint.
• Click on ‘paste’ button; Click on ‘Execute’ button to open the application; Finally click on ‘Close’.
• Create->Record-Analog.
• Draw some picture in the paintbrush file.
• Stop Recording
• Run->Run from Top; Press ‘OK’.
GUI CHECK POINTS-Single Property Check:
• Create->Insert function->Function Generator-> (Function name:Invoke_application; File :Flight 1a)
• Click on’paste’ and click on’execute’ & close the window.
• Create->Record Context sensitive.
• Do some operations & stop recording.
• Create->GUI Check Point->For single Property.
• Click on some button whose property to be checked.
• Click on paste.
• Now close the Flight1a application; Run->Run from top.
• Press ‘OK’ it displays results window.
• Double click on the result statement. It shows the expected value & actual value window.
GUI CHECK POINTS-For Object/Window Property:
• Create->Insert function->Function Generator-> (Function name:Invoke_application; File :Flight 1a)
• Click on’paste’ and click on’execute’ & close the window.
• Create->Record Context sensitive.
• Do some operations & stop recording.
• Create->GUI Check Point->Object/Window Property.
• Click on some button whose property to be checked.
• Click on paste.
• 40Now close the Flight 1a application; Run->Run from top.
• Press ‘OK’ it displays results window.
• Double click on the result statement. It shows the expected value & actual value window.
GUI CHECK POINTS-For Object/Window Property:
• Create->Insert function->Function Generator-> (Function name:Invoke_application; File :Flight 1a)
• Click on’paste’ and click on’execute’ & close the window.
• Create->Record Context sensitive.
• Do some operations & stop recording.
• Create->GUI Check Point->For Multiple Object.
• Click on some button whose property to be checked.
• Click on Add button.
• Click on few objects & Right click to quit.
• Select each object & select corresponding properties to be checked for that object: click ‘OK’.
• Run->Run from Top. It displys the results.
BITMAP CHECK POINT:

For object/window.
• Create->Insert function->Function Generator-> (Function name:Invoke_application; File :Flight 1a)
• Click on’paste’ and click on’execute’ & close the window.
• Create->Record Context sensitive.
• Enter the Username, Password & click ‘OK’ button
• Open the Order in Flight Reservation Application
• Select File->Fax Order& enter Fax Number, Signature
• Press ‘Cancel’ button.
• Create->Stop Recording.
• Then open Fax Order in Flight Reservation Application
• Create->Bitmap Check->For obj.window;
• Run->run from top.
• The test fails and you can see the difference.
For Screen Area:
• Open new Paint Brush file;
• Create->Bitmapcheck point->from screen area.
• Paint file pops up; select an image with cross hair pointer.
• Do slight modification in the paint file(you can also run on the same paint file);
• Run->Run from Top.
• The test fails and you can see the difference of images.
DATABASE CHECK POINTS

Using Default check(for MS-Access only)
• Create->Database Check Point->Default check
• Select the Specify SQL Statement check box
• Click Next button
• Click Create button
• Type New DSN name and Click New button
• Then select a driver for which you want to set up a database & double clcik that driver
• Then select Browse button and retype same DSN name and Click save button.
• Click Next button & click Finish button
• Select database button & set path of the your database name
• Click ‘OK’ button & then Click the your DSN window ‘OK’ button
• Type the SQL query in SQL box
• Theb click Finish button Note : same process will be Custom Check Point
Runtime Record Check Point.
• Repeat above 10 steps.
• Type query of two related tables in SQL box Ex: select Orders.Order_Number, Flights.Flight_Number from Orders, Flights where Flight.Flight_Number=Orders.Flight_Number.
• Select Finish Button
• Select hand Icon button& select Order No in your Application
• Click Next button.
• Select hand Icon button& select Filght No in your Application
• Click Next button
• Select any one of the following check box 1. One match record 2. One or more match records. 3. No match record
• select Finish button the script will be generated.
Synchronization Point

For Obj/Win Properties:
• Open start->Programs->Win Runner->Sample applications->Flight1A.
• Open winrunner window
• Create->RecordContext Sensitive
• Insert information for new Order &click on "insert Order" button
• After inserting click on "delete" button
• Stop recording& save the file.
• Run->Run from top: Gives your results.
Without Synchronization:
• settings->General Options->Click on "Run" tab. "Timeout for checkpoints& Cs statements’ value:10000 follow 1 to 7->the test display on "Error Message" that "delete" button is disabled.
With Synchronization:
• Keep Timeout value:1000 only
• Go to the Test Script file, insert pointed after "Insert Order" button, press statement.
• Create->Synchronization->For Obj/Window Property
• Click on"Delete Order" button & select enable property; click on "paste".
• It inserts the Synch statement.
For Obj/Win Bitmap:
• Create-> Record Context Sensitive.
• Insert information for new order & click on "Insert order" button
• Stop recording & save the file.
• Go to the TSL Script, just before inserting of data into "date of flight" insert pointer.
• Create->Synchronization->For Obj/Win Bitmap is selected.
• (Make sure flight reservation is empty) click on "data of flight" text box
• Run->Run from Top; results are displayed. NoteKeep "Timeout value" :1000)
Get Text: From Screen Area:
(Note: Checking whether Order no is increasing when ever Order is created)
• Open Flight1A; Analysis->graphs(Keep it open)
• Create->get text->from screen area
• Capture the No of tickets sold; right clcik &close the graph
• Now , insert new order, open the graph(Analysis->graphs)
• Go to Winrunner window, create->get text->from screen area
• Capture the No of tickets sold and right click; close the graph
• Save the script file
• Add the followinf script; If(text2==text1) tl_step("text comparision",0,"updateed"); else tl_step("text comparision",1,"update property");
• Run->Run from top to see the results.
Get Text: For Object/Window:
• Open a "Calc" application in two windows (Assuming two are two versions)
• Create->get text->for Obj/Window
• Click on some button in one window
• Stop recording
• Repeat 1 to 4 for Capture the text of same object from another "Calc" application.
• Add the following TSL(Note:Change "text" to text1 & text2 for each statement) if(text1==text2) report_msg("correct" text1); Else report_msg("incorrect" text2);
• Run & see the results
Using GUI-Spy:

Using the GUI Spy, you can view and verify the properties of any GUI object on selected application
• Tools->Gui Spy…
• Select Spy On ( select Object or Window)
• Select Hand icon Button
• Point the Object or window & Press Ctrl_L + F3.
• You can view and verify the properties.
Using Virtual Object Wizard:

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
• tools->Virtual Object Wizard.
• Click Next Button
• Select standard class object for the virtual object Ex: class:Push_button
• Click Next button
• Click Mark Object button
• Drag the cursor to mark the area of the virtual object.
• Click Next button
• Assign the Logical Name, This name will appear in the test script when you record object.
• Select Yes or No check box
• Click Finish button
• Go to winrunner window & Create->Start Recording.
• Do some operations
• Stop Recording
Using Gui Map Editor:

Using the GUI Map Editor, you can view and modify the properties of any GUI object on selected application. To modify an object’s logical name in a GUI map file
• Tools->GUI Map Editor
• Select Learn button
• Select the Application A winrunner message box informs “do you want to learn all objects within the window” & select ‘yes’’ button.
• Select perticular object and select Modify Button
• Change the Logical Name& click ‘OK’ Button
• Save the File
To find an object in a GUI map file:
• Choose Tools > GUI Map Editor.
• Choose View > GUI Files.
• Choose File > Open to load the GUI map file.
• Click Find. The mouse pointer turns into a pointing hand.
• Click the object in the application being tested. The object is highlighted in the GUI map file.
To highlight an object in a Application:
• Choose Tools > GUI Map Editor.
• Choose View > GUI Files.
• Choose File > Open to load the GUI map file.
• Select the object in the GUI map file
• Click Show. The object is highlighted in the Application.
Data Driver Wizard
• Start->Programs->Wirunner->Sample applications->Flight 1A
• Open Flight Reservation Application
• Go to Winrunner window
• Create->Start recording
• Select file->new order, insert the fields; Click the Insert Order
• Tools->Data Table; Enter different Customer names in one row and Tickets in another row.
• Default that two column names are Noname1 and Noname2.
• Tools->Data Driver Wizard
• Click Next button &select the data table
• Select Parameterize the test; select Line by Line check box
• Click Next Button
• Parameterize each specific values with column names of tables;Repeat for all
• Finalli Click finish button.
• Run->Run from top;
• View the results.
Merge the GUI Files:

Manual Merge
• Tools->Merge GUI Map Files A WinRunner message box informs you that all open GUI maps will be closed and all unsaved changes will be discarded & click ‘OK’ button.
• Select the Manual Merge. Manual Merge enables you to manually add GUI objects from the source to target files.
• To specify the Target GUI map file click the browse button& select GUI map file
• To specify the Source GUI map file. Click the add button& select source GUI map file.
• Click ‘OK’ button
• GUI Map File Manual Merge Tool Opens Select Objects and move Source File to Target File
• Close the GUI Map File Manual Merge Tool
Auto Merge
• Tools->Merge GUI Map Files A WinRunner message box informs you that all open GUI maps will be closed and all unsaved changes will be discarded & click ‘OK’ button.
• Select the Auto Merge in Merge Type. If you chose Auto Merge and the source GUI map files are merged successfully without conflicts,
• To specify the Target GUI map file click the browse button& select GUI map file
• To specify the Source GUI map file.
• Click the add button& select source GUI map file.
• Click ‘OK’ button A message confirms the merge.
Manually Retrive the Records form Database
• db_connect(query1,DSN=Flight32);
• db_execute_query(query1,select * from Orders,rec);
• db_get_field_value(query1,#0,#0);
• db_get_headers(query1, field_num,headers);
• db_get_row(query1,5,row_con);
• db_write_records(query1,,c:\\str.txt,TRUE,10);

TSL SCRIPTS FOR WEB TESTING

1. web_browser_invoke ( browser, site );

// invokes the browser and opens a specified site. browser The name of browser (IE or NETSCAPE). site The address of the site.

2. web_cursor_to_image ( image, x, y );

// moves the cursor to an image on a page. image The logical name of the image. x,y The x- and y-coordinates of the mouse pointer when moved to an image

3. web_cursor_to_label ( label, x, y );

// moves the cursor to a label on a page. label The name of the label. x,y The x- and y-coordinates of the mouse pointer when moved to a label.

4.web_cursor_to_link ( link, x, y );

// moves the cursor to a link on a page. link The name of the link. x,y The x- and y-coordinates of the mouse pointer when moved to a link.

5.web_cursor_to_obj ( object, x, y );

// moves the cursor to an object on a page. object The name of the object. x,y The x- and y-coordinates of the mouse pointer when moved to an object.

6.web_event ( object, event_name [, x , y ] );

// uns an event on a specified object. object The logical name of the recorded object. event_name The name of an event handler. x,y The x- and y-coordinates of the mouse pointer when moved to an object

7.web_file_browse ( object );

// clicks a browse button. object A file-type object.

8.web_file_set ( object, value );

// sets the text value in a file-type object. object A file-type object. Value A text string.

9. web_find_text ( frame, text_to_find, result_array [, text_before, text_after, index, show ] );

// returns the location of text within a frame.

10. web_frame_get_text ( frame, out_text [, text_before, text_after, index ] );

// retrieves the text content of a frame.

11. web_frame_get_text_count ( frame, regex_text_to_find , count );

// returns the number of occurrences of a regular expression in a frame.

12. web_frame_text_exists ( frame, text_to_find [, text_before, text_after ] );

// returns a text value if it is found in a frame.

13.web_get_run_event_mode ( out_mode );

// returns the current run mode out_mode The run mode in use. If the mode is FALSE, the default parameter, the test runs by mouse operations. If TRUE, is specified, the test runs by events.

14. web_get_timeout ( out_timeout );

// returns the maximum time that WinRunner waits for response from the web. out_timeout The maximum interval in seconds

15.web_image_click ( image, x, y );

// clicks a hypergraphic link or an image. image The logical name of the image. x,y The x- and y-coordinates of the mouse pointer when clicked on a hypergraphic link or an image.

16. web_label_click ( label );

// clicks the specified label. label The name of the label.

17. web_link_click ( link );

// clicks a hypertext link. link The name of link.

18. web_link_valid ( name, valid );

// checks whether a URL name of a link is valid (not broken). name The logical name of a link. valid The status of the link may be valid (TRUE) or invalid (FALSE)

19. web_obj_click ( object, x, y );

object The logical name of an object. x,y The x- and y-coordinates of the mouse pointer when clicked on an object.

20. web_obj_get_child_item ( object, table_row, table_column, object_type, index, out_object );

// returns the description of the children in an object.

21. function returns the count of the children in an object.

web_obj_get_child_item_count ( object, table_row, table_column, object_type, object_count );

22. returns the value of an object property.

web_obj_get_info ( object, property_name, property_value );

23. returns a text string from an object.

web_obj_get_text ( object, table_row, table_column, out_text [, text_before, text_after, index] );

24. returns the number of occurrences of a regular expression in an object.

web_obj_get_text_count ( object, table_row, table_column, regex_text_to_find, count );

25. returns a text value if it is found in an object.

web_obj_text_exists ( object, table_row, table_column, text_to_find [, text_before, text_after] );

26. web_restore_event_default ( );

//resets all events to their default settings. 27. web_set_event ( class, event_name, event_type, event_status );

// sets the event status.

28. web_set_run_event_mode ( mode );

//sets the event run mode. 29 web_set_timeout ( timeout );

//.sets the maximum time WinRunner waits for a response from the web. 30. web_set_tooltip_color ( fg_color, bg_color );

// sets the colors of the WebTest ToolTip.

31. web_sync ( timeout );

//waits for the navigation of a frame to be completed. 32. web_url_valid ( URL, valid );

// checks whether a URL is valid.

More Questions

1) How you used WinRunner in your project?


Ans. Yes, I have been WinRunner for creating automates scripts for GUI, functional and regression testing of the AUT.

2) Explain WinRunner testing process?

Ans.
WinRunner testing process involves six main stages:
i. Create GUI 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 in contained in the GUI map?


Ans.

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. 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?

Ans.
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?

Ans.
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?

Ans.
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?

Ans.
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?

Ans.
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, WinRunner captures them as actual results.

9) How do you analyze results and report the defects?

Ans.
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?

Ans.
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?


Ans 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?

Ans.
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?


Ans. 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?

Ans.
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.


Ans. 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?

Ans.
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?

Ans.
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. 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?


Ans. 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?

Ans.
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?


Ans. 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?

Ans.
We can load a GUI Map by using the GUI_load command.

Syntax: GUI_load();



22) What is the disadvantage of loading the GUI maps through start up scripts?


Ans.1.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.





2.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?


Ans. 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(); or GUI_close_all;



24) What actually happens when you load GUI map?


Ans. 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?


Ans. 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?

Ans.
The extension for a GUI Map file is “.gui”.


27) How do you find an object in an GUI map.

Ans.
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?


Ans. 1.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.

2.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?

Ans.
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?

Ans.
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?


Ans. 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?


Ans. Changing the physical description is necessary when the property value of an object changes.




33) How WinRunner handles varying window labels?


Ans. 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?


Ans. 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.

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?


Ans. 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?


Ans. 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?


Ans. 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?


Ans. 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?


Ans. 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.

Interview questions on WinRunner

1. How you used WinRunner in your project? - Yes, I have been using WinRunner for creating automated scripts for GUI, functional and regression testing of the AUT.
2. Explain WinRunner testing process? - WinRunner testing process involves six main stages
* Create 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.
3. What is contained in the GUI map? - 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. There are 2 types of GUI Map files. Global GUI Map file: 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.
4. How does WinRunner recognize objects on the application? - 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? - 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 evaluate test results? - 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? - 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? - 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, WinRunner captures them as actual results.
9. How do you analyze results and report the defects? - 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? - 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. Have you integrated your automated scripts from TestDirector? - 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? - There are two type 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.
13. What is the purpose of loading WinRunner Add-Ins? - 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? - WinRunner fails to identify an object in a GUI due to various reasons. The object is not a standard windows object. 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 is meant by the logical name of the object? - 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? - 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? - The GUI map is actually the sum of one or more GUI map files. There are two modes for organizing GUI map files. Global GUI Map file: 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 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? - 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? - 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.