winRunner Interview question's Set 1
 

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(<checklist_file>, <expected_restult>);



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.

SuccessConditions     Contains 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(<session_name>, <connection_string>);



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 (<logical_name>, <out_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.