Sunday, April 5, 2009

WinRunner question 4

1. • Use the Update mode to update the expected results of a test or to create a new expected results folder. -
2. • Explain the following TSL functions: - a) Ddt_open
Creates or opens a datatable file so that WinRunner can access it.
Syntax: ddt_open ( data_table_name, mode );
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
mode The mode for opening the data table: DDT_MODE_READ (read-only) or DDT_MODE_READWRITE (read or write).
b) Ddt_save
Saves the information into a data file.
Syntax: dt_save (data_table_name);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table.
c) Ddt_close
Closes a data table file
Syntax: ddt_close ( data_table_name );
data_table_name The name of the data table. The data table is a Microsoft Excel file or a tabbed text file. The first row in the file contains the names of the parameters.
d) Ddt_export
Exports the information of one data table file into a different data table file.
Syntax: ddt_export (data_table_namename1, data_table_namename2);
data_table_namename1 The source data table filename.
data_table_namename2 The destination data table filename.
e) Ddt_show
Shows or hides the table editor of a specified data table.
Syntax: ddt_show (data_table_name [, show_flag]);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table.
show_flag The value indicating whether the editor should be shown (default=1) or hidden (0).
f) Ddt_get_row_count
Retrieves the no. of rows in a data tables
Syntax: ddt_get_row_count (data_table_name, out_rows_count);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters.
out_rows_count The output variable that stores the total number of rows in the data table.
g) ddt_next_row
Changes the active row in a database to the next row
Syntax: ddt_next_row (data_table_name);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters.
h) ddt_set_row
Sets the active row in a data table.
Syntax: ddt_set_row (data_table_name, row);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
row The new active row in the data table.
i) ddt_set_val
Sets a value in the current row of the data table
Syntax: ddt_set_val (data_table_name, parameter, value);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
parameter The name of the column into which the value will be inserted.
value The value to be written into the table.
j) ddt_set_val_by_row
Sets a value in a specified row of the data table.
Syntax: ddt_set_val_by_row (data_table_name, row, parameter, value);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
row The row number in the table. It can be any existing row or the current row number plus 1, which will add a new row to the data table.
parameter The name of the column into which the value will be inserted.
value The value to be written into the table.
k) ddt_get_current_row
Retrieves the active row of a data table.
Syntax: ddt_get_current_row ( data_table_name, out_row );
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
out_row The output variable that stores the active row in the data table.
l) ddt_is_parameter
Returns whether a parameter in a datatable is valid
Syntax: ddt_is_parameter (data_table_name, parameter);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters.
parameter The parameter name to check in the data table.
m) ddt_get_parameters
Returns a list of all parameters in a data table.
Syntax: ddt_get_parameters ( table, params_list, params_num );
table The pathname of the data table.
params_list This out parameter returns the list of all parameters in the data table, separated by tabs.
params_num This out parameter returns the number of parameters in params_list.
n) ddt_val
Returns the value of a parameter in the active roe in a data table.
Syntax: ddt_val (data_table_name, parameter);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters.
parameter The name of the parameter in the data table.
o) ddt_val_by_row
Returns the value of a parameter in the specified row in a data table.
Syntax: ddt_val_by_row ( data_table_name, row_number, parameter );
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
row_number The number of the row in the data table.
parameter The name of the parameter in the data table.
p) ddt_report_row
Reports the active row in a data table to the test results
Syntax: ddt_report_row (data_table_name);
data_table_name The name of the data table. The name may be the table variable name, the Microsoft Excel file or a tabbed text file name, or the full path and file name of the table. The first row in the file contains the names of the parameters. This row is labeled row 0.
q) ddt_update_from_db
imports data from a database into a data table. It is inserted into your test script when you select the Import data from a database option in the DataDriver Wizard. When you run your test, this function updates the data table with data from the database.
3. • How do you handle unexpected events and errors? - a) WinRunner uses exception handling to detect an unexpected event when it occurs and act to recover the test run.
Define Exception Handling
Define Exception
Define Handler Function
WinRunner enables you to handle the following types of exceptions:
Pop-up exceptions: Instruct WinRunner to detect and handle the appearance of a specific window.
TSL exceptions: Instruct WinRunner to detect and handle TSL functions that return a specific error code.
Object exceptions: Instruct WinRunner to detect and handle a change in a property for a specific GUI object.
Web exceptions: When the WebTest add-in is loaded, you can instruct WinRunner to handle unexpected events and errors that occur in your Web site during a test run.
4. • How do you handle pop-up exceptions? - a) A pop-up exception Handler handles the pop-up messages that come up during the execution of the script in the AUT. TO handle this type of exception we make WinRunner learn the window and also specify a handler to the exception. It could be
i. Default actions: WinRunner clicks the OK or Cancel button in the pop-up window, or presses Enter on the keyboard. To select a default handler, click the appropriate button in the dialog box.
ii. User-defined handler: If you prefer, specify the name of your own handler. Click User Defined Function Name and type in a name in the User Defined Function Name box.
5. • How do you handle TSL exceptions? - a) A TSL exception enables you to detect and respond to a specific error code returned during test execution.
b) Suppose you are running a batch test on an unstable version of your application. If your application crashes, you want WinRunner to recover test execution. A TSL exception can instruct WinRunner to recover test execution by exiting the current test, restarting the application, and continuing with the next test in the batch.
c) The handler function is responsible for recovering test execution. When WinRunner detects a specific error code, it calls the handler function. You implement this function to respond to the unexpected error in the way that meets your specific testing needs.
d) Once you have defined the exception, WinRunner activates handling and adds the exception to the list of default TSL exceptions in the Exceptions dialog box. Default TSL exceptions are defined by the XR_EXCP_TSL configuration parameter in the wrun.ini configuration file.
6. • How do you handle object exceptions? - a) During testing, unexpected changes can occur to GUI objects in the application you are testing. These changes are often subtle but they can disrupt the test run and distort results.
b) You could use exception handling to detect a change in property of the GUI object during the test run, and to recover test execution by calling a handler function and continue with the test execution
7. • How do you comment your script? - a) We comment a script or line of script by inserting a ‘#’ at the beginning of the line.
8. • What is a compile module? - a) A compiled module is a script containing a library of user-defined functions that you want to call frequently from other tests. When you load a compiled module, its functions are automatically compiled and remain in memory. You can call them directly from within any test.
b) Compiled modules can improve the organization and performance of your tests. Since you debug compiled modules before using them, your tests will require less error-checking. In addition, calling a function that is already compiled is significantly faster than interpreting a function in a test script.
9. • What is the difference between script and compile module? - a) Test script contains the executable file in WinRunner while Compiled Module is used to store reusable functions. Complied modules are not executable.
b) WinRunner performs a pre-compilation automatically when it saves a module assigned a property value of “Compiled Module”.
c) By default, modules containing TSL code have a property value of “main”. Main modules are called for execution from within other modules. Main modules are dynamically compiled into machine code only when WinRunner recognizes a “call” statement. Example of a call for the “app_init” script:
call cso_init();
call( “C:\\MyAppFolder\\” & “app_init” );
d) Compiled modules are loaded into memory to be referenced from TSL code in any module. Example of a load statement:
reload (“C:\\MyAppFolder\\” & “flt_lib”);
or
load (”C:\\MyAppFolder\\” & “flt_lib”);
10. • Write and explain various loop command? - a) A for loop instructs WinRunner to execute one or more statements a specified number of times.
It has the following syntax:
for ( [ expression1 ]; [ expression2 ]; [ expression3 ] )statement
i. First, expression1 is executed. Next, expression2 is evaluated. If expression2 is true, statement is executed and expression3 is executed. The cycle is repeated as long as expression2 remains true. If expression2 is false, the for statement terminates and execution passes to the first statement immediately following.
ii. For example, the for loop below selects the file UI_TEST from the File Name list
iii. in the Open window. It selects this file five times and then stops.
set_window (”Open”)
for (i=0; i<5;>
list_select_item(”File_Name:_1?,”UI_TEST”); #Item Number2
b) A while loop executes a block of statements for as long as a specified condition is true.
It has the following syntax:
while ( expression )
statement ;
i. While expression is true, the statement is executed. The loop ends when the expression is false. For example, the while statement below performs the same function as the for loop above.
set_window (”Open”);
i=0;
while (i<5){
i++;
list_select_item (”File Name:_1?, “UI_TEST”); # Item Number 2
}
c) A do/while loop executes a block of statements for as long as a specified condition is true. Unlike the for loop and while loop, a do/while loop tests the conditions at the end of the loop, not at the beginning.
A do/while loop has the following syntax:
do
statement
while (expression);
i. The statement is executed and then the expression is evaluated. If the expression is true, then the cycle is repeated. If the expression is false, the cycle is not repeated.
ii. For example, the do/while statement below opens and closes the Order dialog box of Flight Reservation five times.
set_window (”Flight Reservation”);
i=0;
do
{
menu_select_item (”File;Open Order…”);
set_window (”Open Order”);
button_press (”Cancel”);
i++;
}
while (i<5);
11. • Write and explain decision making command? - a) You can incorporate decision-making into your test scripts using if/else or switch statements.
i. An if/else statement executes a statement if a condition is true; otherwise, it executes another statement.
It has the following syntax:
if ( expression )
statement1;
[ else
statement2; ]
12. expression is evaluated. If expression is true, statement1 is executed. If expression1 is false, statement2 is executed.
b) A switch statement enables WinRunner to make a decision based on an expression that can have more than two values.
It has the following syntax:
switch (expression )
{
case case_1: statements
case case_2: statements
case case_n: statements
default: statement(s)
}
The switch statement consecutively evaluates each case expression until one is found that equals the initial expression. If no case is equal to the expression, then the default statements are executed. The default statements are optional.
13. • Write and explain switch command? - a) A switch statement enables WinRunner to make a decision based on an expression that can have more than two values.
It has the following syntax:
switch (expression )
{
case case_1: statements
case case_2: statements
case case_n: statements
default: statement(s)
}
b) The switch statement consecutively evaluates each case expression until one is found that equals the initial expression. If no case is equal to the expression, then the default statements are executed. The default statements are optional.
14. • How do you write messages to the report? - a) To write message to a report we use the report_msg statement
Syntax: report_msg (message);
15. • What is a command to invoke application? - a) Invoke_application is the function used to invoke an application.
Syntax: invoke_application(file, command_option, working_dir, SHOW);
16. • What is the purpose of tl_step command? - a) Used to determine whether sections of a test pass or fail.
Syntax: tl_step(step_name, status, description);
17. • Which TSL function you will use to compare two files? - a) We can compare 2 files in WinRunner using the file_compare function.
Syntax: file_compare (file1, file2 [, save file]);
18. • What is the use of function generator? - a) The Function Generator provides a quick, error-free way to program scripts. You can:
i. Add Context Sensitive functions that perform operations on a GUI object or get information from the application being tested.
ii. Add Standard and Analog functions that perform non-Context Sensitive tasks such as synchronizing test execution or sending user-defined messages to a report.
iii. Add Customization functions that enable you to modify WinRunner to suit your testing environment.
19. • What is the use of putting call and call_close statements in the test script? - a) You can use two types of call statements to invoke one test from another:
i. A call statement invokes a test from within another test.
ii. A call_close statement invokes a test from within a script and closes the test when the test is completed.
iii. The call statement has the following syntax:
20. • call test_name ( [ parameter1, parameter2, ...parametern ] ); - iv. The call_close statement has the following syntax:
21. • call_close test_name ( [ parameter1, parameter2, ... parametern ] ); - v. The test_name is the name of the test to invoke. The parameters are the parameters defined for the called test.
vi. The parameters are optional. However, when one test calls another, the call statement should designate a value for each parameter defined for the called test. If no parameters are defined for the called test, the call statement must contain an empty set of parentheses.
22. • What is the use of treturn and texit statements in the test script? - a) The treturn and texit statements are used to stop execution of called tests.
i. The treturn statement stops the current test and returns control to the calling test.
ii. The texit statement stops test execution entirely, unless tests are being called from a batch test. In this case, control is returned to the main batch test.
b) Both functions provide a return value for the called test. If treturn or texit is not used, or if no value is specified, then the return value of the call statement is 0.
treturn
c) The treturn statement terminates execution of the called test and returns control to the calling test.
The syntax is:
treturn [( expression )];
d) The optional expression is the value returned to the call statement used to invoke the test.
texit
e) When tests are run interactively, the texit statement discontinues test execution. However, when tests are called from a batch test, texit ends execution of the current test only; control is then returned to the calling batch test.
The syntax is:
texit [( expression )];
23. • Where do you set up the search path for a called test. - a) The search path determines the directories that WinRunner will search for a called test.
b) To set the search path, choose Settings > General Options. The General Options dialog box opens. Click the Folders tab and choose a search path in the Search Path for Called Tests box. WinRunner searches the directories in the order in which they are listed in the box. Note that the search paths you define remain active in future testing sessions.

No comments:

My Ad

.