Winrunner Training. Understand the benefits of automated testing. To get an insight into the working of automated test tools
|
|
- Tobias Johnson
- 6 years ago
- Views:
Transcription
1 Winrunner Training Objective of the Course Understand the benefits of automated testing To get an insight into the working of automated test tools To use and understand the features of Winrunner Creation of test scripts using Winrunner
2 Benefits of Automated Testing WinRunner Testing Process WinRunner Recording Mode Working with other Test Suite Tools
3 Manual Vs. Automated Testing Manual Testing: Is time-consuming and tedious Requires a heavy investment in human resources Time constraints often make it impossible to manually test every feature thoroughly before the software is released Automated Testing: Dramatically speed up the testing process Creation of test scripts which check all aspects of the application Execute these tests on each new build
4 Benefits of Automated Testing Fast: Reliable: Repeatable: Run tests significantly faster than human users Tests perform precisely the same operations each time they are run, thereby eliminating human error You can test how the software reacts under repeated execution of the same operations Programmable: You can program sophisticated tests that bring out hidden information from the application Comprehensive: You can build a suite of tests that covers every feature in your application Reusable: You can reuse tests on different versions of an application, even if the user interface changes
5 WinRunner Testing Process 1 Create the GUI Map WinRunner must learn to recognize the objects in an application in order to run tests The preferred way to teach WinRunner your objects depends on the GUI map mode 2 Create Tests WinRunner writes scripts automatically when recording actions in applications One can program directly in Mercury Interactive s Test Script Language (TSL) 3 Debug Tests You debug the tests to check that they operate smoothly and without interruption
6 WinRunner Testing Process 4 Run Tests Run tests in Verify mode to test your application 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 5 View Results After 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 6 Report Defects If a test run fails due to a defect in the application being tested it can be reported directly from the Test Results window This information is sent via to the quality assurance manager, who tracks the defect until it is fixed
7 Recording Mode Context Sensitivity Context Sensitivity records operations in terms of GUI objects. For e.g. if you record a mouse click on OK button. WinRunner generates following TSL statements- Analog Mode button_press ( OK ); Analog Mode Records the exact coordinates traveled by the mouse For e.g. if you record a mouse click on OK button. WinRunner generates following TSL statements move_locator_track (1); mtype ("<T110><kLeft>-"); mtype ("<kleft>+");
8 Choosing a Recording Mode Choose Context Sensitive if... The application contains GUI objects Exact mouse movements are not required You plan to reuse the test in different versions of the application Choose Analog if... The application contains bitmap areas (such as a drawing area) Exact mouse movements are required
9 Recording User Actions Starting WinRunner To start WinRunner, click Start > Programs > WinRunner > WinRunner
10 Recording User Actions Creating a New test Click on New Test
11 WinRunner Main Window
12 WinRunner Standard Toolbar
13 Recording a Test To Record a Test in WinRunner, Select the Record Button from the Standard Toolbar
14 Recording a Test Automatic Script Generation Enter Application Data Open the Application and Enter the Data
15 Benefits of Automated Testing WinRunner Testing Process WinRunner Recording Mode Working with other Test Suite Tools
16 Working with Other Test Suite Tools WinRunner works with other Test Suite tools to provide an integrated solution for all phases of the testing process I.e. Test Planning, Test Development, GUI and Load Testing, Defect Tracking Test Director: Software Test Management Tool Creation of a database of manual and automated tests, building of test cycles, running tests, and report and track defects With WinRunner, tests can be directly saved into the Test Director database Tests can be executed in WinRunner and the overall results can be reviewed in Test Director Load Runner: Testing tool for Client/Server Applications Using Load Runner, you can emulate an environment in which many users (virtual users) are simultaneously engaged in a single server application You can test an application s performance under load by simultaneously activating virtual users on multiple host computers.
17 Summary Advantages of Automated Testing over Manual Testing (Fast, Reliable, Repeatable, Programmable, Comprehensive, Reusable) The WinRunner Testing Process Creating the GUI Map,Creating Tests,Debugging Tests,Running Tests,Viewing Results, Reporting Defects WinRunner Recording Modes (Context Sensitivity,Analog) Recording a Test Working with other Test Suite Tools (Test Director, Load Runner)
18 LAB EXERCISE
19 Record Login Process from Flight Reservation Sample Application in Context Sensitivity Mode Record Flight Reservation Sample Application for Insert Order,Open Order and Fax Order Record Burger Application for Order Entry Box
20 Day 2 Topic Setting up GUI Map Managing GUI Map Using the Rapid Test Script Wizard
21 How Does WinRunner Create the Script?
22 How Does WinRunner Create the Script? WinRunner adds windows and objects to the GUI Map as they are encountered by the user during recording The GUI Map contains information that allows WinRunner TSL statements to be translated into Windows commands, and vice versa Recording WinRunner AUT set_window("login", 10); edit_set ("Name", John"); John
23 How Does WinRunner Run the Script? When WinRunner executes a TSL statement, it passes through the GUI Map before being sent to Windows The application s response must pass through the GUI Map also Playback WinRunner AUT set_window("login", 10); edit_set ("Name", John"); John
24 Main Issues in Script Creation Unique Identification of objects WinRunner must uniquely identify each object in the Graphical User Interface (GUI) of the application Naming of objects How will WinRunner refer to GUI objects in the application? ("Press the OK button in the Open window")
25 How Does WinRunner Identify an Object? Displayed label class MSW_class x y abs_x abs_y maximizable focused width height active MSW_id handle minimizable nchildren enabled TOOLKIT_class John ******* WinRunner uses an object s physical attributes to identify the object
26 How Does WinRunner Uniquely Identify an Object? label class Class: push_button Label: OK John ******* WR uses the minimum number of static attributes to achieve unique identification
27 How Does WinRunner Assign Object Names? Class: push_button Label: OK John ******* edit_set ( Name, John ); edit_set ( Password, mercury ); button_press ( OK ); WinRunner assigns a short name to each object called the logical name
28 Into Which Field Will WinRunner Play Back? John set_window("login", 10); edit_set ("Name:", "John");
29 Scope of Identification WinRunner identifies an object within the scope of its parent window (not the entire application) set_window ("Login", 10); edit_set ("Name:", "John"); John
30 WinRunner Tracks AUT s Windows and Objects With the GUI Map File The GUI Map file contains the: Windows of the AUT Objects within each window Physical attributes that create each object s unique identification Name: Name Password GUI Map File WINDOW: Login Physical Description: class: edit attached_text: "Name" class: edit attached_text: "Password" OK class: push_button label: "OK"
31 GUI Map Editor Visual tree displays windows and objects contained in the GUI Map File First level consists of all windows in AUT Second level consists of objects uniquely identified within each parent window Parent Window (logical name) Child Objects (logical names) Physical Description of window or object highlighted above
32 The GUI Map Characteristics Allows separation of physical attributes from test scripts Enables WinRunner to uniquely identify objects in the AUT using physical attributes Allows WinRunner to refer to objects in the script using an intuitive logical name Provides the connection between logical names and physical attributes Strengths Maintainability If a button label changes in the application, update the button description once in the GUI map rather than in 500 tests Readability button_press("insert") instead of button_press("{class: ThunderSSCommand}"); Portability Use the same script for all platforms, with a different GUI map for each platform
33 GUI Map Translates Logical Names Into Physical Descriptions set_window("automobile Purchase Form", 10); edit_set ("Customer Name", "Thomas Paine"); edit_set ("Address","234 Willow Drive"); Options Class: Window Label: Window Dealer Name Class: Edit label: DealerName Address Class: Window Label: Address Login Class: Window Label: Login Automobile Purchase Form Class: Window Label: APF Customer Name Class: Edit label: CustomerName Make Class: Window Label: Make SCRIPT GUI MAP AUT Logical Name Physical Description
34 Recording Example Application GUI Map Physical { class: window, MSW_id: 3277 label: "Save As" } { class: push_button, label: "OK" } Logical "Save As" "OK" Test Script WinRunner set_window ("Save As", 1); button_press ("OK");
35 Playback Example Application GUI Map Save As Physical { class: window, MSW_id: 3277 label: "Save As" } Logical "Save As" Test Script WinRunner { class: push_button, label: "OK" } "OK" set_window ("Save As", 1); button_press ("OK");
36 Summary WinRunner uniquely identifies every object in the AUT by its physical description Each object is uniquely identified within the scope of its parent window (not the entire application) WinRunner references each object in the script using a logical name Objects and their descriptions are stored in a GUI Map File The GUI Map File can be viewed in the GUI Map Editor
37 Techniques For Managing GUI Map Files One GUI Map file per test One GUI Map file for many tests
38 Object and Window Properties During Recording Temporary GUI Map file WINDOW: Automobile Purchase Form Name: Description: WinRunner stores the names and descriptions for windows and objects in a temporary GUI Map file Date Make Year Model class: edit attached_text: "Date" class: list attached_text: "Make" class: edit attached_text: "Year" class: edit attached_text: "Model" set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii");
39 Temporary GUI Map file What Happens to These Properties? Use the GUI Map Editor to save the contents of the Temporary GUI Map file to a permanent GUI Map file WINDOW: Automobile Purchase Form Name: Date Make Year Model Description: class: edit attached_text: "Date" class: list attached_text: "Make" class: edit attached_text: "Year" class: edit attached_text: "Model"
40 Creating a Permanent GUI Map Testing Project File Tests L1 Car_App.gui Test1 Test2 Insert GUI Car_App.gui
41 Adding New Windows and Objects to a GUI Map File 1 Invoke the GUI Map Editor
42 Adding New Windows and Objects to a GUI Map File 1 Invoke the GUI Map Editor 2 Press the Expand Button to display Temporary and Permanent GUI Map files
43 Adding New Windows and Objects to a GUI Map File 1 Invoke the GUI Map Editor 2 Press the Expand Button Move contents of Temp to display Temporary and to Permanent by Permanent GUI Map files pressing Move button 3
44 Adding New Windows and Objects to a GUI Map File 1 Invoke the GUI Map Editor 2 Press the Expand Button Move contents of Temp to display Temporary and to permanent by permanent GUI Map files pressing Move button 3 4 Save changes to permanent GUI Map file
45 Save Project GUI Map Files Testing Project Together Tests L1 Insert.gui Test1 Test2 Insert GUI Test1.gui Test2.gui Insert.gui
46 Techniques for Managing GUI Map Files One GUI Map file per test One GUI Map file for many tests
47 Creating a Permanent GUI Map File 1 Invoke the GUI Map Editor
48 Creating a Permanent GUI Map File 1 2 Invoke the GUI Map Editor Click the Learn Button The cursor changes to a pointing hand
49 Creating a Permanent GUI Map File 1 2 Invoke the GUI Map Editor Click the Learn Button 3 The cursor changes to a pointing hand Click on the Window to be learned
50 Creating a Permanent GUI Map File 1 2 Invoke the GUI Map Editor Click the Learn Button 3 The cursor changes to a pointing hand Click on the Window to be learned WinRunner learns all objects in window
51 Creating a Permanent GUI Map File 1 2 Invoke the GUI Map Editor Click the Learn Button The cursor changes to a pointing hand 3 4 Click on the Window to be learned WinRunner learns all objects in window Repeat for all windows in the application
52 Modify Names for Script Readability These names are unreadable. To what objects do they refer
53 Modify Names for Script Readability 1 Highlight the object whose name you want to change
54 Modify Names for Script Readability 1 2 Highlight the object whose name you want to change Click the Modify Button
55 Modify Names for Script Readability Highlight the object whose name you want to change Click the Modify Button Change the Logical Name of the object Click OK
56 Modify Names for Script Readability 1 Highlight the object whose name you want to change RESULT! "Name: appears in your test script during recording instead of "ThunderRTTextBox_0" Click Click the Modify Button Change the Logical Name of the object OK
57 Creating a Permanent GUI Map Testing Project File Tests L1 Car_App.gui Test1 Test2 Insert GUI Car_App.gui
58 Which Technique Should You Use? 1. Each test has GUI Map file independence 2. There is no need for a GUI Map file administrator 3. The GUI Map file is very simple to create record and save 1. Object and window names can be very readable in the test script 2. If an object or window description changes, you only have to modify one GUI Map file all tests will play back properly Preferred method if the application is not intended to change during renovation Preferred method if the application might change during renovation
59 Importance of the GUI Map File What happens when playback is attempted, and the proper GUI Map file is not loaded? set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); edit_set ("Purchase Price", " ");?
60 Load GUI Map File from Script Insert.gui GUI_load("N:\\Y2K_Proj\\GUI\\insert.gui"); set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); edit_set ("Purchase Price", " "); 12/12/03 BMW tii
61 Unload GUI Map File from Script Insert.gui GUI_close_all( ); GUI_load("N:\\Y2K_Proj\\GUI\\insert.gui"); set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); edit_set ("Purchase Price", " "); 12/12/03 BMW tii
62 Fixing the GUI Map File set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); edit_set ("Purchase Price", " "); GUI Map file Name: Date Description: class: edit MSW_id: 14
63 Fixing the GUI Map File 1 2 set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); edit_set ("Purchase Price", " "); GUI Map file Name: Date Description: class: edit MSW_id: 14
64 Use the GUI Map Editor to Fix File 1 Invoke the GUI Map Editor 4 Save the file L1 Insert.gui 2 Highlight field and press Modify *L1 Insert.gui 3 Edit the description Active GUI file: N:\\Y2K_Project\\GUI\insert.gui
65 Fixing the GUI Map File WinRunner can now successfully playback the script! set_window("automobile Purchase Form", 10); edit_set ("Date", "12/12/03"); list_select_item ("Make", "BMW"); edit_set ("Year", "1973"); edit_set("model", "2002tii"); 12/12 /03 BMW tii
66 Custom User Toolbar The Custom User Toolbar feature allows you to customize WinRunner s UI to suit your testing needs Create shortcuts to frequently used WinRunner menu commands Paste TSL statements into your test scripts Execute TSL statements
67 Add GUI Map Editor to the Custom User Toolbar 1 Select Settings > Customize User Toolbar 2 In each category, select command(s) to appear in toolbar An icon for each command selected is added to the User Toolbar
68 Summary Two methods to manage GUI Map files 1 GUI Map per test if AUT is not expected to change easiest way to create a GUI Map file 1 GUI Map for many tests if changes to AUT are expected most easily maintained Use the GUI Map Editor to fix GUI Map file problems
69 LAB EXERCISE
70 Use GUI Spy to learn the objects Record Flight Application Sample and Save the temporary GUI Map file and Load the same GUI Map file (Use function) Create GUI Map for the same Using Learn option Merge Login and Flight Application GUI Map file into a single one Create a GUI Map File for Burger Application using the Learn option
71 Day 3 Topic Introduction to Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
72 Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
73 Verifying the AUT - Manual Testing SOFTWARE REQUIREMENT SPECIFICATIONS Creating a New Order Once the end user selects File > New and enters their name, the "Terms" button is automatically enabled. Step Step Description Expected Result 1 Select File > New PASS?
74 Verifying the AUT - Manual Testing SOFTWARE REQUIREMENT SPECIFICATIONS Creating a New Order Once the end user selects File > New and enters their name, the "Terms" button is automatically enabled. William Frawley Step Step Description Expected Result 1 Select File > New 2 Enter your name The Terms button is enabled PASS?
75 Verifying the AUT - Manual Testing SOFTWARE REQUIREMENT SPECIFICATIONS Creating a New Order Once the end user selects File > New and enters their name, the "Terms" button is automatically enabled. William Frawley Step Step Description Expected Result 1 Select File > New 2 Enter your name The Terms button is enabled PASS?
76 Verifying the AUT - Automated Testing SOFTWARE REQUIREMENT SPECIFICATIONS Creating a New Order Once the end user selects File > New and enters their name, the "Terms" button is automatically enabled. William Frawley set_window ("Automobile Purchase Form", 8); menu_select_item ("File;New Form"); edit_set ("Customer Name", "William Frawley");?
77 What Is WinRunner Verification? Verification is the process by which WinRunner reports whether expected results are actualized by the application.
78 How WinRunner Verifies 1 WinRunner or the tester stores an expected result with the recorded test script WinRunner captures an actual result during playback WinRunner compares the actual result to the stored, expected result WinRunner reports the comparison outcome as PASS or FAIL
79 How Does a Checkpoint Work? AUT AUT Expected Actual Test Report Actual = Expected? X Pass Fail
80 Process to Create Verification 1 Capture or create the expected result within the recorded test script 2 3 Test the checkpoint to ensure that it works for PASS and FAIL conditions Run the recorded test script to verify correct execution NOTE The tester creates the expected result only for text verification
81 Playback - Run Modes DEBUG To check for errors in the script (Results folder: debug) VERIFY To test the application and verify the result (Results folder: res1 (default); user can rename) UPDATE To overwrite the expected result with a new value (Results folder: exp)
82 GUI Object Verification Check the state or attributes of GUI objects: Is the window the correct size? Is the OK button enabled? What is the content of the Name field?
83 Database Verification Check the contents and dimensions of a database Directly verify databaserelated transactions
84 Bitmap Image Verification Check non-gui object areas of the application by capturing a bitmap Capture bitmap of window, object, or area of screen
85 Text Verification Read and verify text from bitmap areas or non-gui object based interfaces (e.g., ASCII)
86 Summary Verification allows WinRunner to check the AUT's behavior Types of verification checks GUI objects databases bitmap images text Use GUI Object verification whenever possible, because it is the most reliable
87 Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
88 How Does GUI Checkpoints Work? AUT AUT Expected Actual = Expected X Actual? Test Report Pass Fail
89 Process for GUI checkpoints 1 Determine the visual cue(s) 2 Create GUI checkpoint 3 4 Test the Checkpoint to ensure that it works for Pass & Fail conditions Run the recorded Test Script to verify correct execution
90 Process for GUI checkpoints 1 Determine the visual cue(s)
91 Which visual cues demonstrate that the AUT meets requirements GUI object example Flight Reservation Order information form On click of Insert Order a visual cue is given by the application Application returns a message Application returns a value Object changes its state
92 Determine which visual cues to verify? Edit Field Compare Enabled Focus Range Check Button Enabled Focus Label Pushbutton Enabled Focus Label Width Height
93 Checkpoint differs depending on the object to be verified Type of Object List Button(check,radio,push) Generic Object Window Checkpoint function list_check_info button_check_info Obj_check_info Win_check_info
94 Process for GUI checkpoints 1 Determine the visual cue(s) 2 Create GUI checkpoint
95 Create GUI Checkpoints Select Checkpoint to fit the verification Type of GUI Checkpoint Example One property of one object Enabled Multiple properties of one object Enabled, Label Enabled, Focus Multiple properties of multiple objects State, Label
96 Check One property of one Object Select GUI Checkpoint for single property set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
97 Check One property of one Object Select GUI Checkpoint for single property Point to the Object WinRunner inserts button_check_info statement into the recorded Test Script set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); button_check_info ( OK, enabled,0);
98 Check Multiple properties of one Object Select GUI Checkpoint for Object/Window set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
99 Check Multiple properties of one Object Select GUI Checkpoint for Object/Window Point to the Object Select Multiple properties for the objects set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); obj_check_gui("ok", "list1.ckl", "gui1", 1);
100 Check Multiple properties of one Object Select GUI Checkpoint for Object/Window Point to the Object Select Multiple properties for the objects WinRunner inserts a obj_check_gui statement set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); obj_check_gui("ok", "list1.ckl", "gui1", 1);
101 Check Multiple properties of multiple Objects Select GUI Checkpoint for Multiple Objects set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
102 Check Multiple properties of multiple Objects Select GUI Checkpoint for Multiple Objects Click Add and point to the object set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
103 Check Multiple properties of multiple Objects Select GUI Checkpoint for Multiple Objects Click Add and point to the object Select Multiple properties for multiple objects set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
104 Check Multiple properties of multiple Objects Select GUI Checkpoint for Multiple Objects Point to the Object Select Multiple properties for multiple objects WinRunner inserts a win_check_gui statement set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); win_check_gui("login", "list2.ckl", "gui2", 1);
105 Process for GUI checkpoints 1 Determine the visual cue(s) 2 Create GUI checkpoint 3 Test the Checkpoint to ensure that it works for Pass & Fail conditions
106 Test the checkpoint Checkpoint should work for both Pass and Fail condition Set the object to a state that should Pass Step through the checkpoint in Debug mode Set the object to a state that should Fail (Reverse the object state) Step through the checkpoint again Verify correct execution
107 Process for GUI checkpoints 1 Determine the visual cue(s) 2 Create GUI checkpoint 3 4 Test the Checkpoint to ensure that it works for Pass & Fail conditions Run the recorded Test Script to verify correct execution
108 Verify correct Script Execution After successfully testing the Checkpoints for Pass and Fail conditions We are ready to run the entire Script Script should run without error When Script is ok, we are ready to test the application under test (AUT)
109 Test directory after GUI Testing Project Checkpoint Tests Test1 Test2 chklist List1.ckl exp Test2 gui1.chk
110 Summary GUI Checkpoint can verify One property of one object Multiple properties of one objects One or more properties of several objects Expected results are stored in exp folder Actual results are stored in results folder
111 Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
112 Database Checkpoint A test script checkpoint which verifies the schema table contains the expected data
113 Flight Database Schema Orders Order_Number (PK) Flight Flight_Number (PK) Flight_Number (FK) Referential Integrity A Foreign Key value in a table must exist as a Primary Key value in a referenced table or be null
114 Queries Extract Data Order_Number 11 Select Order_Number from Orders Where Flight_Number = 19075
115 Why use Database Checkpoints? Does the AUT insert, update and delete records correctly Do the new versions of the database function properly Does the AUT maintain referential integrity
116 What can you check in a Database? No of Columns No of Rows Data content of the tables
117 How does WinRunner Query the Data? WinRunner integrates with MS Query or a Data Junction MS Query is used to create a query to extract data The query is used by WinRunner to capture the expected and actual values from the table(s)
118 How Does Database Checkpoint Work? AUT AUT Expected Actual = Expected X Actual? Test Report Pass Fail
119 Process for Database Checkpoints 1 Record User actions to create database transaction Use Database Checkpoint wizard to implement the Database Checkpoint Test the condition to ensure that it works for Pass and Fail conditions Run the recorded scripts
120 Process for Database Checkpoints 1 Record User actions to create database transaction
121 Record user actions to create a Database transaction Preeti set_window ("Flight Reservation", 7); edit_set ("Date of Flight:", "09/06/02"); edit_set ("Name:", "Preeti"); button_press ("Insert Order");
122 Process for Database Checkpoints 1 Record User actions to create database transaction 2 Use Database Checkpoint wizard to implement the database checkpoint
123 Use Database Checkpoint Wizard Select Database Checkpoint for default check set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
124 Use Database Checkpoint Wizard Select Database Checkpoint for default check Create a Query to extract data
125 Use Database Checkpoint Wizard Select Database Checkpoint for default check Create a Query to extract data WinRunner inserts a db_check statement set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); db_check("list1.cdl", "dbvf1");
126 Process for Database checkpoints 1 Record User actions to create database transaction 2 3 Use Database Checkpoint wizard to implement the database checkpoint Test the condition to ensure that it works for Pass and Fail conditions
127 Test the checkpoint Checkpoint should work for both Pass and Fail condition Set the database to a state that should Pass Step through the checkpoint in Debug mode Set the database to a state that should Fail (Reverse the object state) Step through the checkpoint again Verify correct execution
128 Process for Database checkpoints 1 Record User actions to create database transaction Use Database Checkpoint wizard to implement the database checkpoint Test the Checkpoint to ensure that it works for Pass & Fail conditions Run the recorded scripts
129 Verify correct Script Execution After successfully testing the Checkpoints for Pass and Fail conditions We are ready to run the entire Script Script should run without error When Script is ok, we are ready to test the application under test (AUT)
130 Test directory after Database Testing Project Checkpoint Tests Test1 Test2 chklist exp list1.cdl msqr1.sql Test2 dbvf1
131 Summary Use Database Checkpoints to verify data in the Database Use MS Query to extract data WinRunner uses Query to capture expected and Actual results Always restore the database to its original state before each Test execution
132 Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
133 Bitmap Checkpoint Bitmap checkpoint are non context sensitive and are dependent upon the screen resolution Color scheme (screen resolution and no of colors) Tip Use Bitmap checkpoint only when Sanjay verification Kumar cannot be accomplished using object or window attributes
134 Is Bitmap Checkpoint necessary? Bitmap Checkpoint GUI Checkpoint Used to verify non-gui Object areas e.g. Drawing Area When unable to use GUI Checkpoint Useful for Graphs etc. Most Reliable Maintainable Preferred method for buttons etc.
135 How Does Bitmap Checkpoint Work? AUT AUT st Qtr 3rd Qtr East West North st Qtr 3rd Qtr East West North Expected Actual = Expected X Actual? Test Report Pass Fail
136 Process for Bitmap Checkpoints 1 Is Bitmap verification necessary If yes verify screen area or object/window? Create a Bitmap Checkpoint in the recorded Test Script Test the condition to ensure that it works for Pass and Fail conditions Run the recorded scripts Differences are reported in Test Results and the difference Bitmap is found
137 Process for Bitmap Checkpoints 1 Is Bitmap verification necessary If yes verify screen area or object/window? 2 Create a Bitmap Checkpoint in the recorded Test Script
138 Create a Bitmap Checkpoint Create a Bitmap Checkpoint for Object/Window or a Screen Area set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury");
139 Create a Bitmap Checkpoint Create a Bitmap Checkpoint for Object/Window or a Screen Area Point to the object
140 Create a Bitmap Checkpoint Create a Bitmap Checkpoint for Object/Window or a Screen Area Point to the Object WinRunner inserts a obj_check_bitmap statement set_window( Login", 2); edit_set ( Agent Name:", Test"); obj_type ( Agent Name:, <ktab> ); edit_set ( Password", mercury"); obj_check_bitmap("name:", "Img1", 1);
141 Process for Bitmap Checkpoints 1 Is Bitmap verification necessary If yes verify screen area or object/window? 2 3 Create a Bitmap Checkpoint in the recorded Test Script Test the condition to ensure that it works for Pass and Fail conditions
142 Test the checkpoint Checkpoint should work for both Pass and Fail condition Set the object to a state that should Pass Step through the checkpoint in Debug mode Set the object to a state that should Fail (Reverse the object state) Step through the checkpoint again Verify correct execution
143 Verify correct Script Execution After successfully testing the Checkpoints for Pass and Fail conditions We are ready to run the entire Script Script should run without error When Script is ok, we are ready to test the application under test (AUT)
144 Process for Bitmap Checkpoints 1 Is Bitmap verification necessary If yes verify screen area or object/window? Create a Bitmap Checkpoint in the recorded Test Script Test the Checkpoint to ensure that it works for Pass & Fail conditions Run the recorded scripts Differences are reported in Test Results and the difference Bitmap is found
145 Differences are reported and the difference Bitmap is found Expected Result Actual Result Difference Bitmap
146 Summary Use Bitmap checkpoint for non GUI objects You can define specific area of bitmap to verify WinRunner captures a difference bitmap when checkpoint fails Use GUI checkpoint whenever possible
147 Verification GUI Checkpoints Database Checkpoints Bitmap Checkpoints Text Checkpoints
148 Why use a Text Checkpoint? Verify range of values Calculate dynamic values Branch a test according to the value read from the screen Color, Font and Resolution independent Reliable, Portable and Maintainable
149 Process for Text Checkpoints 1 Define a variable in the script and assign the expected value Insert a function to read the actual text from the AUT during playback Insert code to compare the actual and expected value Insert code to report the comparison outcome to WinRunner Test Results window
150 Process for Text Checkpoints 1 Define a variable in the script and assign the expected value
151 Define a variable in the script and assign the expected value for e.g. tickets_sold = Total tickets sold is 26
152 Process for Text Checkpoints 1 Define a variable in the script and assign the expected value 2 Insert a function to read the actual text from the AUT during playback
153 Insert a function to read the actual text from the AUT during playback There are three ways to insert functions depending on the Text type If Text is. Attribute of Standard or a Custom Object Part of custom GUI object which cannot be read as an attribute Bitmap obj_get_info obj_get_text win_get_text
154 Process for Text Checkpoints 1 Define a variable in the script and assign the expected value 2 3 Insert a function to read the actual text from the AUT during playback Insert code to compare the actual and expected value
155 Insert code to compare the actual and expected value set_window("graph", 1); obj_get_text("gs_drawing", text); if (text == "Total Tickets Sold is 26" ) report_msg( Message is correct"); else report_msg( Message is not correct");
156 Process for Text Checkpoints 1 Define a variable in the script and assign the expected value Insert a function to read the actual text from the AUT during playback Insert code to compare the actual and expected value Insert code to report the comparison outcome to WinRunner Test Results window
157 LAB EXERCISE
158 In the Burger Application check whether Medium Burger,Medium French French Fries and Apple juice are selected by using GUI checkpoints.change the defaults and press Reset button.ensure that Reset is functioning properly by using GUI checkpoints. Create a Bitmap checkpoint on Order No and Graph of Flight Reservation Create a text checkpoint on any of page and verify the results.search for Sample word in the application using text checkpoint. Create a database checkpoint to check whether a record is inserted or not by adding checkpoint on Order No
159 Data Driven Tests
160 Data-Driven Tests In this lesson you will learn: What is a data-driven test How to work with Data Tables How to implement a data-driven test How to import data from a database
161 What is a Data-Driven Test? A test contains: Actions: list_select_item("fly From:","Denver"); Objects: list_select_item("fly From:","Denver"); Data: list_select_item("fly From:","Denver"); San Francisco Los Angeles London What if you want to use different data?
162 What is a Data-Driven Test? Data-driven test: Test is modified to read data from the Data Table Data is entered in the Data Table Actions Objects Data Table Recorded Data Value list_select_item ("Fly From:, Denver ); ddt_val (table, fly_from));
163 What Is the Data Table? The Data Table is a spreadsheet file in WinRunner that stores the input values you will use to data-drive your test.
164 Advantages of a Data-Driven Test Run the same test with different data Expandable Easy to maintain
165 Data Driving Tests 1 Create a test 2 3 Modify test to Move data to read from Data Table Data Table 1. Create test with data Create a test 2. Verify script is ready for data driving
166 1. Create a Test Create Test with Data Test Script invoke_application( flight1a.exe","","c:\\",sw_show); set_window ("Login", 10); edit_set ("userid", "Josephine"); password_edit_set ("password", kxpvnwoulxjuax ); button_press ("OK"); set_window ("Flight Reservation", 10); win_check_gui("flight Reservation", "list1.ckl", "gui1", 1); menu_select_item ("File;Exit");
167 1. Create a Test Verify that Script Is Ready to Data Drive Are the initial and end conditions the same? Are all actions that involve inputting data recorded into the script? Are all synchronization points entered into the script? Does the script verify the expected results? Test Script invoke_application( flight1a.exe","","c:\\",sw_show); set_window ("Login", 10); edit_set ("userid", "Josephine"); password_edit_set ("password", kxpvnwoulxjuax ); button_press ("OK"); set_window ("Flight Reservation", 10); win_check_gui("flight Reservation", "list1.ckl", "gui1", 1); menu_select_item ("File;Exit");
168 Data Driving Tests 1 Create a test 2 Modify test to read from Data Table 3 Move data to Data Table Modify test to read from Data Table 1. Run DataDriver Wizard
169 2. Modify Test to Read from Data Table What Does the DataDriver Do? The DataDriver Wizard will convert your baseline script so that it will: 1 Open the Data Table and check that it was successfully opened table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent pause("cannot Name:", "Catherine"); open table."); password_edit_set("password:", "kzptnyoslzjsaz"); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); ddt_get_row_count(table,table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent Name:",ddt_val(table,"Agent_Name")); password_edit_set("password:",ddt_val(table,"password")); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); } ddt_close(table);
170 1 Open the Data Table and check that it was successfully opened 2 2. Modify Test to Read from Data Table What Does the DataDriver Do? The DataDriver Wizard will convert your baseline script so that it will: Add a loop to read through all your data rows table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) pause("cannot open table."); ddt_get_row_count(table,table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent Name:",ddt_val(table,"Agent_Name")); password_edit_set("password:",ddt_val(table,"password")); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); } ddt_close(table);
171 1 Open the Data Table and check that it was successfully opened Modify Test to Read from Data Table What Does the DataDriver Do? The DataDriver Wizard will convert your baseline script so that it will: Add a loop to read through all your data rows Parameterize data values so that it reads from the Data Table table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) pause("cannot open table."); ddt_get_row_count(table,table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent Name:",ddt_val(table,"Agent_Name")); password_edit_set("password:",ddt_val(table,"password")); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); } ddt_close(table);
172 1 Open the Data Table and check that it was successfully opened Modify Test to Read from Data Table What Does the DataDriver Do? The DataDriver Wizard will convert your baseline script so that it will: Add a loop to read through all your data rows Parameterize data values so that it reads from the Data Table Close the Data Table table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) pause("cannot open table."); ddt_get_row_count(table,table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent Name:",ddt_val(table,"Agent_Name")); password_edit_set("password:",ddt_val(table,"password")); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); } ddt_close(table);
173 2. Modify Test to Read from Data Table Running the DataDriver Wizard 1. Highlight area you want to be data driven. 2. Start the DataDriver Wizard. invoke_application( flight1a.exe","","c:\\",sw_show); set_window ("Login", 10); edit_set ("userid", Catherine"); password_edit_set ("password", kxpvnwoulxjuax ); button_press ("OK"); set_window ("Flight Reservation", 10); win_check_gui("flight Reservation", "list1.ckl", "gui1", 1); menu_select_item ("File;Exit"); 2 1
174 2. Modify Test to Read from Data Table Running the DataDriver Wizard Final Result table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) pause("cannot open table."); ddt_get_row_count(table, table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); invoke_application("d:\\flight1a.exe","","",sw_show); set_window ("Login", 10); edit_set ("Agent Name:",ddt_val(table,"Agent_Name")); password_edit_set("password:",ddt_val(table,"password")); button_press ("OK"); set_window ("Flight Reservation", 22); menu_select_item ("File;Exit"); } ddt_close(table);
175 2. Modify Test to Read from Data Table Running the DataDriver Wizard Where does the Data Table reside? <test name> default.xls
176 2. Modify Test to Read from Data Table Running the DataDriver Wizard How do you populate the Data Table? If you want to import data from a database, do it now, using the Wizard Other methods will be discussed in the next section, Move Data
177 3. Move Data to Data Table Importing Data From Database to Data Table Database
178 3. Move Data to Data Table Importing Data From Database to Data Table Database
179 2. Modify Test to Read from Data Table Running the DataDriver Wizard? Final Result edit_set( Agent ("Agent Name:,ddt_val(table, Agent_Name )); Name:", Catherine );
180 2. Modify Test to Read from Data Table Running the DataDriver Wizard
181 Data Driving Tests Create a test Modify test to read from Data Table Move data to Data Table
182 3. Move Data to Data Table How Is Data Moved to Data Table? Import, using DataDriver Wizard (covered in previous section) Manually Dynamically, during run time
183 3. Move Data to Data Table Insert Data Manually Open the Data Table 1 Enter Data you want to test 2 Close Data Table and save script 3
184 3. Move Data to Data Table Add Data Dynamically During Run mer yelet phine Data Table InvoiceNum Test 1 Test 2 Create Invoice ddt_set_val(... Update Invoice edit_set(...,ddt_val
185 3. Move Data to Data Table Add Data Dynamically During Run 1 Add column to Data Table for data to be added
186 3. Move Data to Data Table Add Data Dynamically During Run 1 Add column to Data Table for data to be added 2 Modify the script so that it: a b c captures the data and saves it to a variable sets the value in the Data Table saves changes to the Data Table table = "default.xls"; rc = ddt_open(table, DDT_MODE_READ); if (rc!= E_OK && rc!= E_FILE_OPEN) pause("cannot open table."); ddt_get_row_count(table,table_rowcount); for(table_row = 1; table_row <= table_rowcount; table_row ++) { ddt_set_row(table,table_row); set_window ("Automobile Purchase Form", 2); edit_set ("Customer Name",ddt_val(table,"Customer_Name")); edit_set("address:",ddt_val(table,"address")); edit_set ("License",ddt_val(table,"License")); obj_mouse_click ("Method of Payment", 23, 13, LEFT); button_set (ddt_val(table,"cash"), ON); list_select_item ("Make",ddt_val(table,"Make")); # Item Number 0; edit_set ("Model",ddt_val(table,"Model")); button_press ("Insert Sale"); edit_wait_info("statusbar","value","new Purchase Completed Successfully...",10); obj_get_info("invoice No:","label",InvoiceNumber); ddt_set_val (table, InvoiceNo, InvoiceNumber ); ddt_save (table); } ddt_close(table); Data Table
187 Summary Create a template test with single set of data Modify test to read data from table run the Data Driver Wizard Move data to Data Table import data from a database edit Data Table directly add data to Data Table during run-time
188 Exercise
189 Create a Data Driven test on Login and Password and Error Messages that it can generate. Create Data Driven test on Customer Name field.
190 Lesson Objectives In this section, we will learn the importance of synchronization for successful test playback how to select the appropriate synchronization type for your script how to insert synchronization into a test script
191 How Do Client-Server Applications Behave? Single User Database server Server response time:
192 How Do Client-Server Applications Behave? Several Users Database server Server response time:
193 How Do Client-Server Applications Behave? Many Users Database server Server response time:
194 How Do Client-Server Applications Behave? Example Response Times Single user 0.33 RESPONSE TIME Several users 0.61 Many users 1.00
195 Complete the Business Process Manually Database Example steps Enter 07/07/01 on Date field Select LA from Fly From field 07/07/01 Los Angeles Select Denver from Fly To field Enter Cash as Method of Payment Press Flights button Denver Cash
196 Complete the Business Process Manually Database Example steps Enter 07/07/01 on Date field Select LA from Fly From field Select Denver from Fly To field Enter Cash as Method of Payment Press Flights button Select a flight
197 Complete the Business Process Manually Database Example steps Enter 07/07/01 on Date field Errol Flynn 07/07/01 Los Angeles 7328 Select LA from Fly From field Select Denver from Fly To field Enter Cash as Method of Payment Press Flights button Denver Cash Select a flight Enter Customer Name Insert Order Wait for response before continuing Close application
198 Manual Steps Recorded in the Test Script edit_set ("Date","070701"); list_select_item ("Fly From:", "Los Angeles"); list_select_item ("Fly To:", "Denver"); list_select_item ("Payment:", "Cash"); button_press ("Flights"); set_window ("Flights Table", 4); button_press ("OK"); set_window ("Flight Reservation", 10); edit_set ("Customer Name:", "Errol Flynn"); button_press ("Insert Order");??? win_close ("Flight Reservation"); Example steps Enter 07/07/01 on Date field Select LA from Fly From field Select Denver from Fly To field Enter Cash as Method of Payment Press Flights button Select a flight Enter Customer Name Insert Order Wait for response before continuing Close the application
199 Why Not Insert a Wait Statement? 1 user 3.7 seconds AVERAGE RESPONSE TIMES 50 users 5.1 seconds 500 users 9.5 seconds button_press ("Insert Order"); wait ( 10); win_close ("Flight Reservation");
200 Why Not Insert a Wait Statement? RUN #1 AUT 11.3 seconds Wait (10); PROBLEM: Test run failed because wait didn't last long enough SOLUTION: Add 50% to wait time as safety cushion button_press ("Insert Order"); wait ( ); win_close ("Flight Reservation");
201 Why Not Insert a Wait Statement? RUN #2 AUT 5.5 seconds Wait (15); 15 seconds PROBLEM: Most of the wait time was unnecessary SOLUTION: Don't use a wait statement use something that will continue as soon a s the AUT is finished. But what will do that? button_press ("Insert Order"); wait???( 15); win_close ("Flight Reservation");
202 What Is a Synchronization Point? A synchronization point is a line in the test script that instructs WinRunner to wait for a certain response from the application during playback, just as a real user would.
203 1 Record user actions in script 2 Synchronize script to application under test 3 Add verification statements to check AUT 4 Run test or suite of tests Introduction to Synchronization Add Synchronization Points ADD SYNCHRONIZATION POINTS
204 Process to Add Synchronization Points Add Synchronization Points Establish visual cues to synchronize Determine type of synchronization point Add synchronization point to test script Play back revised script
205 Establish Visual Cue to Synchronize WINDOW Wait for a window Examples OBJECT STATE Wait for an object state BITMAP Wait for a bitmap to refresh
206 Methods of Synchronization Wait for a window set_window ("Flight Reservation", 20); Wait for an object state/property value obj_wait_info ("Bar","label", "Insert Done...", 20); Wait for a bitmap obj_wait_bitmap ("Window", "Img1", 10, 209, 170, 81, 20 );
207 Determine Type of Synchronization (Waiting for a Window) set_window ("Flight Reservation", 20); Window name Time Wait for main window to appear after login
208 Properties of Standard GUI State 1 Objects (Examples) State 2 State 3 class: push_button, focused: 0, label: "Insert Order", enabled: 1 class: push_button, focused: 1, label: "Insert Order", enabled: 1 class: push_button, focused: 0, label: "Insert Order", enabled: 0 Boolean Values 0 = False 1 = True
209 Properties of Standard GUI State 1 Objects (Examples) State 2 State 3 class: push_button, focused: 0, label: "Insert Order", enabled: 1 class: push_button, focused: 1, label: "Insert Order", enabled: 1 class: push_button, focused: 0, label: "Insert Order", enabled: 0 class: list, focused: 0, value: "" class: list, focused: 0, value: "Los Angeles" class: list, focused: 1, value: "Paris" Boolean Values 0 = False 1 = True
210 Properties of Standard GUI State 1 Objects (Examples) State 2 State 3 class: push_button, focused: 0, label: "Insert Order", enabled: 1 class: push_button, focused: 1, label: "Insert Order", enabled: 1 class: push_button, focused: 0, label: "Insert Order", enabled: 0 class: list, focused: 0, value: "" class: list, focused: 0, value: "Los Angeles" class: list, focused: 1, value: "Paris" Boolean Values 0 = False 1 = True class: radio_button, focused: 0, value: 0 class: radio_button, focused: 0, value: 1 class: radio_button, focused: 1, value: 1
211 Determine Type of Synchronization (Change in Object Property/State) obj_wait_info ("Bar","label", "Insert Done...", 20); Object name Object property Synchronize with a progress bar message
212 Determine Type of Synchronization (Change in Object Property/State) obj_wait_info ("Bar","label", "Insert Done...", 20); value Time Synchronize with a progress bar message
213 Determine Type of Synchronization (Waiting for a Bitmap) obj_wait_bitmap ("Window", "Img1", 10, 209, 170, 81, 20 ); Object name Bitmap name Sync with browser loading a bitmap
214 Determine Type of Synchronization (Waiting for a Bitmap) obj_wait_bitmap ("Window", "Img1", 10, 209, 170, 81, 20 ); Sync with browser loading a bitmap x, y
215 Determine Type of Synchronization (Waiting for a Bitmap) obj_wait_bitmap ("Window", "Img1", 10, 209, 170, 81, 20 ); Bitmap File Location: width height Sync with browser loading a bitmap Test_name exp Test_name Img1.bmp
216 How Long Does It Wait? Global timeout setting Synchronization statement timeout parameter Test run 1 Test run 2 Global timeout interval Maximum total timeout Script continues TIME PARAMETER + GLOBAL = TOTAL "OK" Script continues "Error"
217 # Login Add Synchronization to Test set_window ("Login",4); edit_set ("Agent Name:", "mercury"); password_edit_set ("Password:","kjzisllz"); button_press ("OK"); Script Wait for a Window 1 Locate the TSL statement that points to the determined visual cue # Flight Reservation set_window ("Flight Reservation", 25 );
218 Add Synchronization to Test # Login set_window ("Login",4); edit_set ("Agent Name:", "mercury"); password_edit_set ("Password:","kjzisllz"); button_press ("OK"); # Flight Reservation set_window ("Flight Reservation", ); Script Wait for a Window 1 2 Locate the TSL statement that points to the determined visual cue Recorded time parameter reflects delay during script recording session Modify timeout parameter to allow ample time for window to appear
219 Add Synchronization to Test Script Wait for an Object State/Property Value 1 Locate the line in the script to insert the synchronization point list_select_item ("Fly From:","Denver"); list_select_item ("Fly To:","San Francisco"); # Flights Table set_window ("Flights Table",2); list_activate_item ("Flight", " "); # Flight Reservation set_window ("Flight Reservation",3); edit_set ("Customer Name:","Bob Smith"); button_press ("Insert Order");
220 Add Synchronization to Test list_select_item ("Fly From:","Denver"); list_select_item ("Fly To:","San Francisco"); # Flights Table set_window ("Flights Table",2); list_activate_item ("Flight", " "); # Flight Reservation set_window ("Flight Reservation",3); edit_set ("Customer Name:","Bob Smith"); button_press ("Insert Order"); Script Wait for an Object State/Property Value 1 2 Locate the line in the script to insert the synchronization point Select Create > Synchronization Point/For Object/Window Property
221 Add Synchronization to Test list_select_item ("Fly From:","Denver"); list_select_item ("Fly To:","San Francisco"); # Flights Table set_window ("Flights Table",2); list_activate_item ("Flight", " "); # Flight Reservation set_window ("Flight Reservation",3); edit_set ("Customer Name:","Bob Smith"); button_press ("Insert Order"); Script Wait for an Object State/Property Value Locate the line in the script to insert the synchronization point Select Create > Synchronization Point/For Object/Window Property Using the Hand pointer, click on the object to synchronize
222 Add Synchronization to Test list_select_item ("Fly From:","Denver"); list_select_item ("Fly To:","San Francisco"); # Flights Table set_window ("Flights Table",2); list_activate_item ("Flight", " "); # Flight Reservation set_window ("Flight Reservation",3); edit_set ("Customer Name:","Bob Smith"); button_press ("Insert Order"); Script Wait for an Object State/Property Value Locate the line in the script to insert the synchronization point Select Create > Synchronization Point/For Object/Window Property Using the Hand pointer, click on the object to synchronize Select the object attribute that will contain the value of the visual cue "Progress Bar"
223 Add Synchronization to Test list_select_item ("Fly From:","Denver"); list_select_item ("Fly To:","San Francisco"); # Flights Table set_window ("Flights Table",2); list_activate_item ("Flight", " "); Script Wait for an Object State/Property Value # Flight Reservation set_window ("Flight Reservation",3); edit_set ("Customer Name:","Bob Smith"); button_press ("Insert Order"); obj_wait_info("progress Bar", "label", "Insert Done,10); Locate the line in the script to insert the synchronization point Select Create > Synchronization Point/For Object/Window Property Using the Hand pointer, click on the object to synchronize Select the object attribute that will contain the value of the visual cue Click the Paste button in Wait for object window "Progress Bar"
224 Add Synchronization to Test Script Wait for a Bitmap Area # Mercury Homepage set_window ( "Mercury Homepage", 5 ); edit_set("address", " ); 1 Locate the line in the script to insert the synchronization point obj_mouse_click( "mpage", "Img2", 471, 328 );
225 Add Synchronization to Test # Mercury Homepage set_window ( "Mercury Homepage", 5 ); Script Wait for a Bitmap Area edit_set("address", " ); 1 2 Locate the line in the script to insert the synchronization point Select Create > Synchronization Point > For Screen Area Bitmap obj_mouse_click( "mpage", "Img2", 471, 328 );
226 Add Synchronization to Test # Mercury Homepage set_window ( "Mercury Homepage", 5 ); Script Wait for a Bitmap Area edit_set("address", " ); obj_mouse_click( "mpage", "Img2", 471, 328 ); Locate the line in the script to insert the synchronization point Select Create > Synchronization Point > For Screen Area Bitmap Click left mouse button and drag pointer to select area; press right button to complete selection
227 Add Synchronization to Test # Mercury Homepage set_window ( "Mercury Homepage", 5 ); Script Wait for a Bitmap Area edit_set("address", " ); obj_wait_bitmap ("mpage","img2",6,7,8,101,114); obj_mouse_click( "mpage", "Img2", 471, 328 ); Locate the line in the script to insert the synchronization point Select Create > Synchronization Point > For Screen Area Bitmap Click left mouse button and drag pointer to select area; press right button to complete selection 4 TSL statement appears in script
228 Other Object State Synchronization Statements button_wait_info edit_wait_info list_wait_info menu_wait_info obj_wait_info scroll_wait_info spin_wait_info static_wait_info statusbar_wait_info tab_wait_info
229 Play Back Revised Script edit_set ("Date","070703"); list_select_item ("Fly From:", "Los Angeles"); list_select_item ("Fly To:", "Denver"); list_select_item ("Payment:", "Cash"); button_press ("Flights"); set_window ("Flights Table", 4); list_activate_item ("Flight",...); edit_set ("Customer Name:", "Errol Flynn"); button_press ("Insert Order"); obj_wait_info ("ProgressBar","label", "Insert Done...",10); 07/07/03 Los Angeles Denver Cash
230 Play Back Revised Script edit_set ("Date","070703"); list_select_item ("Fly From:", "Los Angeles"); list_select_item ("Fly To:", "Denver"); list_select_item ("Payment:", "Cash"); button_press ("Flights"); set_window ("Flights Table", 4); list_activate_item ("Flight",...); edit_set ("Customer Name:", "Errol Flynn"); button_press ("Insert Order"); obj_wait_info ("ProgressBar","label", "Insert Done...",10); 07/07/03 Los Angeles Denver Cash
231 Play Back Revised Script edit_set ("Date","070703"); list_select_item ("Fly From:", "Los Angeles"); list_select_item ("Fly To:", "Denver"); list_select_item ("Payment:", "Cash"); button_press ("Flights"); set_window ("Flights Table", 4); list_activate_item ("Flight",...); edit_set ("Customer Name:", "Errol Flynn"); button_press ("Insert Order"); obj_wait_info("progressbar","label", "Insert Done...",10);... Errol Flynn 07/07/03 101
232 Summary The AUT's performance may slow down as the number of users increases Synchronization points allow WinRunner to wait for the AUT, just like a real user Synchronization Points wait for windows or bitmaps to appear objects to change state Maximum wait time for a Synchronization Point is the time parameter + global timeout
233 LAB EXERCISE
234 Create Bitmap Synchronization for Insert Order Image Add Synchronization points to all INSERT,DELETE operations
235 Enhancing Your Test Using TSL Test Script Language
236 Enhancing Your Test Using TSL In this lesson you will learn: How TSL can enhance test scripts: maintainability readability reliability portability Some important TSL functions How to insert TSL statements into your script using the Function Generator
237 What is TSL? It is a C-like language flow control (for, while, if / else, switch) case sensitive operators (arithmetic, relational ) input/output It is a Basic-like language constants, variables, arrays It is interpreted for easy debugging It has built-in Testing Functions recorded programmed
238 Variables and Constants Use variables and constants to: remove hard-coded data for maintainability, readability store data (i.e., input/output data, error codes) create data driven tests Variables do not have to be declared they can always contain strings or numbers Variables and constants can be of type public or static public: available to all tests and function libraries static: available to only the script in which it is declared
239 Variables and Constants # Constant declarations public const GUI_FILE_PATH = c:\\tests\\guifiles\\ ; public const AUT_PATH = c:\\app\\bin\\ ; public const E_MY_ERROR_CODE = ; Test Script 1 # Variable declarations static linecounter; public flightversion = Flight1a.exe ; GUI_load (GUI_FILE_PATH & myfile.gui ); invoke_application (AUT_PATH & flightversion,, AUT_PATH, SW_SHOW);... rc = my_function (); if (rc == E_MY_ERROR_CODE)... Test Script 2 Variable and Constant Names: - letters, numbers, underscore - first character must be a letter or an underscore - case sensitive
240 Variables and Constants Strings and Numbers number1 = "4"; number2 = 3; value = number1 * number2; value contains 12 cost = "10 Dollars"; amount = The price is & cost + 5; amount contains The price is 15 value_a = "3.3"; value_b = "2,5"; result_a = value_a * 2; result_b = value_b * 4; result_a contains 6.6 result_b contains 8 WinRunner can convert strings to numbers and vice versa! If a string is converted to a number, WinRunner cuts off all following non-numeric characters!
241 Variables and Constants Special Characters in Strings The backslash is used to start an escape-sequence, (a special character) \t Tab \r\n Return, Newline \ Quotes To Insert a backslash into a string use a double backslash \\ Backslash value = "This is a \"String\" with\t very special character"; pause( value );
242 Arrays Use arrays when you need to store many data values using one data structure allow for easy access to large sets of data allow for storing sets of data Array size can be dynamically increased test script expandability Each array element can be indexed by a userdefined string (associative arrays) Multi-dimensional arrays are supported
243 Arrays Simple Array fltclass[1]= "First"; fltclass[2]= "Business"; fltclass[3]= "Economy"; # Data Window set_window ( "Data Window", 1 ); edit_get_text( "Class Number:", class ); # Flight Reservation set_window ( "Flight Reservation", 1 ); button_set ( fltclass[class], ON );
244 Arrays Associative Array userdata["name"]= "John Smith"; userdata["address"]= "1234 Main Street"; userdata["zip"]= 98711; userdata["city"]= "Hometown "; # Customer Information Window set_window ( Customer Information Window", 1 ); edit_set( "Name:", userdata["name"] ); edit_set( "Address:", userdata["address"] ); edit_set( "City:", userdata["zip"] & ", " & userdata["city"] );
245 Arrays Multi-dimensional Arrays Example: Multi-dimensional Array flightinfo[ 1, "Date ] = "07/22/99"; flightinfo[ 1, "FlyFrom ] = "Los Angeles"; flightinfo[ 1, "FlyTo ] = "Denver"; flightinfo[ 1, "Flight No ] = "4300"; flightinfo[ 2, "Flight No ] = "1234"; flightinfo[ 3, "Flight No ] = "9999"; Multi-dimensional Arrays; Data in table format 1 2 Date Fly From Fly To Flight No 07/22/99 Los Angeles Denver /28/01 Seattle Portland /26/02 Dallas Detroit 9999
246 Flow Control Add flow control to increase the test script s reliability and maintainability make decisions in a test script handle predictable AUT behavior iterate repeated user actions handle multiple window paths in AUT create a data driven test Flow control constructs: conditional looping flow modification
247 Flow Control Conditional Decision Making set_window ( Flight Reservation ); obj_get_info ( Order No:, value, OrderNo); if ( OrderNo == ) { report_msg report_msg ( No order ( No order number. ); number. ); else } else { button_press ( Update Order ); button_press ( Update Order ); } Best practice: always set curly brackets win_get_text( Flight Info, version, 42, 68, 159, 89); if ( version!= Version 1.0 ) { report_msg ( Wrong Version! ); texit; }
248 Flow Control switch Statement set_window ("Fax Order"); edit_get_text ("Class:", class); switch (class) { case "Economy": result = PASS; message="correct class: Economy"; break; case "Business": result = FAIL; message="wrong class: Business"; break; case "First": result = FAIL; message="wrong class: First"; break; } tl_step ( Class of Service, result, message);
249 Flow Control for Loop # Looping for stress testing for (i=0; i<1000; i++) { set_window ( Flight Reservation ); menu_select_item ("File;Fax Order..."); set_window ("Fax Order"); edit_set ("Fax Number:", ); button_press ( Send"); set_window ( Flight Reservation ); obj_wait_info ( StatusBar, label, Fax Sent, 50); }
250 Flow Control while Loop file= "c:\\data\\flight_orders.txt"; file_open( file, FO_MODE_READ ); while ( file_getline( file, line ) == E_OK ) { ord_num= substr( line, 0, 5 ); open_order( ord_num ); report_msg( "Opened Order " & ord_num ); } file_close( file ); The statements in this while loop will not be executed if the condition is not TRUE (if the file cannot be opened)
251 Flow Control do while Loop # Flight Reservation set_window ( "Flight Reservation", 2 ); edit_set ( "Name:", "" ); new_len=0; do { old_len= new_len; edit_type( "Name:", "123" ); edit_get_info( "Name:", "value", value ); new_len= length( value ); } while( old_len < new_len ); report_msg( "Max Name length & new_len & " characters" ); The statements in this while loop are executed at least once.
252 Operators Use operators to create expressions by combining variables and constants Arithmetic ( + - * / % ) Assignment ( = += -= *= /= %= ^= ) Concatenation ( & ) Conditional (? ) Logical ( &&! ) Relational ( > >= < <= ==!= )
253 Operators Arithmetic/Relational edit_get_text ("Tickets", tickets); edit_get_text ("Price", price); edit_get_text ("Total", total); if ( tickets * price == total ) tl_step ( Total, PASS, Correct Total ); else { } tl_step ( Total, FAIL, "Wrong Total"); report_msg( Expected Value: & tickets * price); report_msg( Actual Value: & total ); Best Practice: For complicated calculations, check values in the AUT against pre-calculated values in a data table or data file
254 Operators Logical Operators # Value is greater than 50 AND less than 100 if ( value > 50 && value <100 ) tl_step ( Value tested, PASS, Correct Value ); # Value equals Saturday OR value equals Sunday if ( value== Saturday value== Sunday ) tl_step ( Value tested, PASS, it s Weekend! ); # Value is equal to or greater than 1 AND less than or equal to 10 # AND value IS NOT 5 if ( value >=1 && value <=10 && value!= 5 ) tl_step ( Value tested, PASS, is between 1-10 and not 5 );
255 TSL Testing Functions TSL contains many non-recorded testing functions to enhance your tests arithmetic, string Data Table (discussed in a later lesson) Test Report, file, query functions synchronization system Finding out about functions Function Generator on-line help TSL Reference manual WinRunner Books Online
256 TSL Testing Functions Arithmetic exp int Input/Output tl_step file_getline file_printf Query GUI Objects edit_get_text obj_get_info win_exists String/File substr file_compare Synchronization list_wait_info obj_wait_info System invoke_application dos_system get_time
257 Important TSL Functions Invoking an Application Description: Invokes a Windows application from within a test script Format: invoke_application (file, option, working_dir, show); app_path= c:\\mercury\\winrunner\\samples ; invoke_application (app_path & \\flight1a.exe,, app_path, SW_SHOW);
258 Important TSL Functions Checking for a Window Description: This statement can be used to verify if an error message appears, the application is started, or a specific window appears on the screen. Format: win_exists( window, [time] ); If (win_exists( Flight Message ) == E_OK ) { set_window( Flight Message, 2 ); button_press( OK ); }
259 Important TSL String Functions Splitting a String Description: This statement can be used to split a long string into smaller parts, at every appearance of a given Separator. Format: split(string, Array, Field Separator); set_window("flights Table", 1); list_get_item("flight",num, flight); split ( flight, values, " "); if( values[1] == flight_num ) {
260 Important TSL Functions Accessing DOS Description: Executes a DOS command from within a test (equivalent to executing a command from a DOS window) Format: dos_system (expression); dos_system ( "del c:\\demo.tmp );
261 Important TSL Functions Input/Output Read input from the WinRunner Data Table discussed in a later lesson Send output from test: to the report to TestDirector
262 Output to Test Report & TestDirector Description: Use tl_step function to report status of a checkpoint divides test into steps & sends a message on success / failure affects test status (pass / fail) makes analysis of test script execution easier Format: tl_step (step_name, status, description); win_get_text ("File Name", text, 247, 309, 427, 329); if (text == "letter.doc") tl_step ( Verify Text, PASS, Correct text ); else tl_step ( Verify Text, FAIL, Wrong text: & text );
263 Output to Report report_msg Statement Description: - Send information about the test execution to the Test Report - Does not affect test status. Format: report_msg (string); edit_get_text ("File Name", val ); if (val!= "letter.doc") { report_msg ("Error: Illegal file name: & val & Test Aborted"); }
264 Accessing Functions The Function Generator Functions arranged in categories Expand form to fill in argument values Paste into script (or execute) Point and click programming
265 Accessing Functions The Editor When you type an underscore, a list with functions will appear Type ESC to hide the function list Continue typing to pre-select other functions TAB, ENTER or SPACE selects the actual function # Automobile Purchase Form set_window("automobile Purchase Form", 10); edit_set ("Customer Name", "Thomas Paine"); edit_set
266 Accessing Functions The Editor When you type an open bracket a ToolTip with the parameters will appear # Automobile Purchase Form set_window("automobile Purchase Form", 10); edit_set ("Customer Name", "Thomas Paine"); edit_set ( Password, Mercury ); edit_set (Edit Object, New String)
267 Using Return Codes Each TSL Function has a return code numeric general TSL error codes (E_OK, E_NOT_FOUND) Enhance the readability of your test scripts if (win_exists ("Flight Reservation Message") == E_OK) { set_window ("Flight Reservation Message"); } button_press ("No"); rc = set_window ( Flight Reservation, 10); if (rc!= E_OK) { } report_msg ( Flight application did not invoke properly. ); texit (-1); # Aborting test
268 Debugging Tests Step, Step Into Breakpoint Watch Variables pause Statement
269 Debugging Tests pause Statement Halts execution of test script and pops up a message box Ensures that variables and arrays contain the correct data Capital = "Sacramento"; pause ("The capital of California is " & Capital);
270 Comments WinRunner ignores anything after a # as a comment Thoroughly comment test scripts for readability and maintainability Helps other test developers analyze and edit test scripts ################################################################## # Test Name: Verify Login # # Test Developer: John Doe # # Purpose: This test verifies that the login procedure # # Date: # # Date of Last Revision: # ################################################################## # Performing a login to AUT set_window ( Login ); edit_set ( Login Name, name); # name stores the actual login name You can insert comments either during recording or after recording
271 Creating a Startup Script A startup script can contain anything you want executed each time you start WinRunner When working within a team you can use the same startup script to ensure everyone s environment is similar Set the location of your Startup script in WinRunner s General Options Use a startup script to: Load your GUI map Declare constants and variables Load your Function Libraries Customize your Function Generator Configure WinRunner s view of objects
272 Creating a Startup Script 1 Create a startup script in WinRunner. WinRunner - [InitScript] ############################################ # TestSuite Training Init Test # ############################################ 2 Open the General Options window and click the Environment tab. # Loading the prepared GUI file GUI_load (getvar ("testname")&"\\flight60.gui"); # Configure the MS Mask object to map to edit objec # Data of Flight recording depends on this set_class_map("msmaskwndclass", "edit"); set_record_attr("msmaskwndclass", "class attached_t set_record_method("msmaskwndclass", RM_RECORD); # Configure the status bar in the GUI Map set_class_map("afxwnd40", "object"); set_record_attr("afxwnd40", "class regexp_msw_class S:\TestProject\InitScript 3 Enter the path where you saved your startup script in the Startup test box.
273 Summary Enhance your script using TSL add logic (flow control, variables, operators) insert testing functions using the Function Generator Add comment to your script for clarity Use return values to check successful execution Report checkpoint status information Use debugging tools to check your test
Mercury WinRunner. Tutorial Version 9.2. Document Release Date: February 26, 2007
Mercury WinRunner Tutorial Version 9.2 Document Release Date: February 26, 2007 Mercury WinRunner Tutorial, Version 9.2 This document, and the accompanying software and other documentation, is protected
More informationDESIGNED BY DAVID C. JACOBS, PH.D.
DESIGNED BY DAVID C. JACOBS, PH.D. HOME LESSON ONE LESSON TWO LESSON THREE LESSON FOUR LESSON FIVE LESSON SIX LESSON SEVEN LESSON EIGHT LESSON NINE LESSON TEN LESSON ELEVEN LESSON TWELVE Contents HOME
More informationThe salient features of WinRunner that makes it different from other tools are
Introduction First of all, I would like to give the brief description about WinRunner. It is a powerful automated testing tool developed by Mercury Interactive Company since it is basically used for functional
More informationPASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year
PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : HP0-M12 Title : HP WinRunner 9.2 Software Vendors : HP Version : DEMO Get
More informationIntroduction to QuickTest Professional 8.0 Student Handbook
Introduction to QuickTest Professional 8.0 Student Handbook Introduction to QuickTest Professional 8.0 Self-Paced Training Copyright 1994-2004 by Mercury Corporation. This workbook, and the accompanying
More informationMercury LoadRunner Quick Start
Mercury LoadRunner Quick Start Welcome to the Mercury LoadRunner Quick Start. The Quick Start provides a short, step-by-step overview and introduction to using Mercury LoadRunner. LoadRunner load tests
More informationMercury Quality Center Tutorial, Version 8.2
Mercury Quality Center Tutorial, Version 8.2 This manual, and the accompanying software and other documentation, is protected by U.S. and international copyright laws, and may be used only in accordance
More informationUnified Functional Testing
Unified Functional Testing Software Version: 14.03 Tutorial Go to HELP CENTER ONLINE http://admhelp.microfocus.com/uft/ Document Release Date: February 22, 2018 Software Release Date: February 2018 Legal
More informationQTP interview questions
QTP interview questions Testing interview questions 1. What are the Features & Benefits of Quick Test Pro (QTP 8.0)? - Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury
More informationQTP MOCK TEST QTP MOCK TEST II
http://www.tutorialspoint.com QTP MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to QTP Framework. You can download these sample mock tests at your local
More informationQ.T.P. 8.2 ( QUICK TEST PROFESSIONAL)
Q.T.P. 8.2 ( QUICK TEST PROFESSIONAL) Developed by Mercury Interactive Functionality Testing Tool Derived from Win Runner. Support all Win Runner 7.0 Supported technologies including.net, XML, SAP, People
More informationIntroduction to ALM, UFT, VuGen, and LoadRunner
Software Education Introduction to ALM, UFT, VuGen, and LoadRunner This course introduces students to the Application Lifecycle Management line products Introduction to ALM, UFT, VuGen, and LoadRunner
More informationIntroduction to IBM Rational HATS For IBM System i (5250)
Introduction to IBM Rational HATS For IBM System i (5250) Introduction to IBM Rational HATS 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a Web application capable of transforming
More informationTestPartner. Getting Started with Visual Tests
TestPartner Getting Started with Visual Tests Borland Software Corporation 4 Hutton Centre Dr., Suite 900 Santa Ana, CA 92707 Copyright 2010 Micro Focus (IP) Limited. All Rights Reserved. TestPartner contains
More informationCommand and Control Automated Testing (C2AT) Capabilities Contact List
Command and Control Automated Testing (C2AT) Capabilities Contact List Visit our website (www.eglin.af.mil/test_and_analysis_division) to See our current DT&E and OT&E capabilities, Request current product
More informationReport Commander 2 User Guide
Report Commander 2 User Guide Report Commander 2.5 Generated 6/26/2017 Copyright 2017 Arcana Development, LLC Note: This document is generated based on the online help. Some content may not display fully
More informationSQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server
Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server
More informationRapid SQL 7.5 Evaluation Guide. Published: September 28, 2007
Rapid SQL 7.5 Evaluation Guide Published: September 28, 2007 Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. This is a preliminary document and may be changed
More informationWorking with Mailbox Manager
Working with Mailbox Manager A user guide for Mailbox Manager supporting the Message Storage Server component of the Avaya S3400 Message Server Mailbox Manager Version 5.0 February 2003 Copyright 2003
More informationTestDirector. Tutorial Version 7.6
TestDirector Tutorial Version 7.6 TestDirector Tutorial, Version 7.6 This manual, and the accompanying software and other documentation, is protected by U.S. and international copyright laws, and may be
More informationCity College of San Francisco Argos Training Documentation
City College of San Francisco Argos Training Documentation Prepared by Edgar Coronel Strata Information Group Updated March 21, 2013 Contents Login into Argos... 2 Navigation Area... 3 Explorer view...
More informationQTP Course Content; Introduction
QTP Course Content; Introduction Overview on Test Automation Ways of Testing Disadvantages of Manual Testing Advantages of Test Automation Drawbacks of Test Automation Test Automation Types of Test Automation
More informationTESTING - WINRUNNER 25 FAQ
About CHETANA-JOBS & ChetanaS CHETANA-JOBS is World s Biggest Job Group with more than 2 LAKH members and through which more than 40,000 job seekers got jobs till now. In fact, Chetana created a history
More informationCross-Browser Functional Testing Best Practices
White Paper Application Delivery Management Cross-Browser Functional Testing Best Practices Unified Functional Testing Best Practices Series Table of Contents page Introduction to Cross-Browser Functional
More informationwith TestComplete 12 Desktop, Web, and Mobile Testing Tutorials
with TestComplete 12 Desktop, Web, and Mobile Testing Tutorials 2 About the Tutorial With TestComplete, you can test applications of three major types: desktop, web and mobile: Desktop applications - these
More informationEloqua Insight Intro Analyzer User Guide
Eloqua Insight Intro Analyzer User Guide Table of Contents About the Course Materials... 4 Introduction to Eloqua Insight for Analyzer Users... 13 Introduction to Eloqua Insight... 13 Eloqua Insight Home
More informationClient Configuration Cookbook
Sitecore CMS 6.2 Client Configuration Cookbook Rev: 2009-10-20 Sitecore CMS 6.2 Client Configuration Cookbook Features, Tips and Techniques for CMS Architects and Developers Table of Contents Chapter 1
More informationCopyright 2013, Oracle and/or its affiliates. All rights reserved.
1 Safe Harbour THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO
More informationFunction. Description
Function Check In Get / Checkout Description Checking in a file uploads the file from the user s hard drive into the vault and creates a new file version with any changes to the file that have been saved.
More informationIBM. Database Database overview. IBM i 7.1
IBM IBM i Database Database overview 7.1 IBM IBM i Database Database overview 7.1 Note Before using this information and the product it supports, read the information in Notices, on page 39. This edition
More informationTesting. Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES
Corporate Solutions Pvt. Ltd. Corporate Trainer s Profile Corporate Trainers are having the experience of 4 to 12 years in development, working with TOP CMM level 5 comapnies (Project Leader /Project Manager
More informationClient Configuration Cookbook
Sitecore CMS 6.4 or later Client Configuration Cookbook Rev: 2013-10-01 Sitecore CMS 6.4 or later Client Configuration Cookbook Features, Tips and Techniques for CMS Architects and Developers Table of
More informationSAP BusinessObjects Live Office User Guide SAP BusinessObjects Business Intelligence platform 4.1 Support Package 2
SAP BusinessObjects Live Office User Guide SAP BusinessObjects Business Intelligence platform 4.1 Support Package 2 Copyright 2013 SAP AG or an SAP affiliate company. All rights reserved. No part of this
More informationMagicInfo VideoWall Author
MagicInfo VideoWall Author MagicInfo VideoWall Author User Guide MagicInfo VideoWall Author is a program designed to construct a VideoWall layout and create VideoWall content by adding various elements
More informationGetting started with R-Tag Viewer and Scheduler (R-Tag Report Manager)
Contents Getting started with R-Tag Viewer and Scheduler (R-Tag Report Manager)... 2 Reports... 3 Add a report... 3 Run a report...15 Jobs...15 Introduction...15 Simple jobs....15 Bursting jobs....16 Data
More informationSilk Test Workbench Getting Started with Visual Tests
Silk Test Workbench 17.5 Getting Started with Visual Tests Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 1992-2016. All rights
More informationIntroduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250)
Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a rich client plug-in application
More informationIntroduction to IBM Rational HATS For IBM System z (3270)
Introduction to IBM Rational HATS For IBM System z (3270) Introduction to IBM Rational HATS 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a Web application capable of transforming
More informationFunctional testing. Appendix: Sample test plan
Tool WinRunner is a powerful automated functional testing tool developed by Mercury Interactive. It allows a user to record and play back user interface actions as test scripts. Pre-Requisites WinRunner
More informationOracle Enterprise Manager Oracle Database and Application Testing. Application Testing Suite Lab. Session S318966
Oracle Enterprise Manager Oracle Database and Application Testing Application Testing Suite Lab Session S318966 Oracle Enterprise Manager 11g Application Testing Suite 9.1 Hands on Lab Introduction to
More informationUSING TMXWR & TMXWRX U PDATED
USING TMXWR & TMXWRX U PDATED 8.30.06 CRITICAL LOGIC TRAINING & COMMUNICATIONS Using TMXwr & TMXwrx 2006 by Critical Logic, Inc. 851 Burlway Road, Suite 506, Burlingame, CA 94010 www.critical-logic.com
More informationSilkTest Workbench Getting Started with Visual Tests
SilkTest Workbench 13.0 Getting Started with Visual Tests Micro Focus 575 Anton Blvd., Suite 510 Costa Mesa, CA 92626 Copyright 2012 Micro Focus. All rights reserved. Portions Copyright 2010-2011 Borland
More informationOpenForms360 Validation User Guide Notable Solutions Inc.
OpenForms360 Validation User Guide 2011 Notable Solutions Inc. 1 T A B L E O F C O N T EN T S Introduction...5 What is OpenForms360 Validation?... 5 Using OpenForms360 Validation... 5 Features at a glance...
More informationContents. User's Guide
Contents i User's Guide ii Contents No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without prior written permission from
More informationIntroduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250)
Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS 1 Lab instructions This lab teaches
More informationFRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] COURSE OVERVIEW
FRESHER TRAINING PROGRAM [MANUAL/QTP/ALM/QC/SE/LR/DB/ANDROID] Software Testing COURSE OVERVIEW Manual Concepts Software Testing Concepts What is software Testing Objective of software Testing Importance
More informationOcé Posterizer Pro Designer. POP into retail. User manual Application guide
- Océ Posterizer Pro Designer POP into retail o User manual Application guide Copyright copyright-2010 Océ All rights reserved. No part of this work may be reproduced, copied, adapted, or transmitted in
More informationTable of Contents COURSE OVERVIEW... 5
Table of Contents COURSE OVERVIEW... 5 DISCUSSION... 5 THE NEW DATABASE FORMAT... 5 COURSE TOPICS... 6 CONVENTIONS USED IN THIS MANUAL... 7 Tip Open a File... 7 LESSON 1: THE NEW INTERFACE... 8 LESSON
More informationOpen. Select the database and click. Print. Set printing options using the dropdown menus, then click the
The Original Quick Reference Guides Microsoft Access 2010 Access is a tool for creating and managing databases collections of related records structured in an easily accessible format such as a table,
More informationChapter 9 Getting Started with Impress
Getting Started Guide Chapter 9 Getting Started with Impress OpenOffice.org's Presentations OpenOffice.org Copyright This document is Copyright 2005 2007 by its contributors as listed in the section titled
More informationTest Automation. Implementing the Keyword Driven Framework
CLIENT OVERVIEW Test Automation Implementing the Keyword Driven Framework The client is a pioneer in online options trading via the internet. The web based site helps in educating customers about options
More informationChapter Eight: Editing a Part Program
Chapter Eight: Editing a Part Program Introduction PC-DMIS's main purposes are to allow you to create, edit, and execute part programs with ease. This chapter discusses using the Edit menu (with other
More informationTest Automation Approaches to Real Life
Yury Makedonov p. 1 of 19 Test Automation Approaches to Real Life Yury Makedonov, CGI Golam Mustofa, CGI The International Quality Conference, Toronto, Ontario, Canada Copyright 2003 CGI Group Inc. October
More informationIntroduction to Autodesk VaultChapter1:
Introduction to Autodesk VaultChapter1: Chapter 1 This chapter provides an overview of Autodesk Vault features and functionality. You learn how to use Autodesk Vault to manage engineering design data in
More informationPolicy Commander Console Guide - Published February, 2012
Policy Commander Console Guide - Published February, 2012 This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes
More informationLearn Well Technocraft
The course includes Manual Testing + Automation Testing (QTP) details. The Courses can be taken individually or in combined. Course Objectives Understand Benefits of using Quick Test to automate tests
More informationUFT120 Unified Functional Testing 12.0 Essentials Instructor-Led Training For version 12.0
UFT120 Unified Functional Testing 12.0 Essentials Instructor-Led Training For version 12.0 Overview This course provides a comprehensive understanding of how to use the Unified Functional Testing (UFT)
More informationEbook : Overview of application development. All code from the application series books listed at:
Ebook : Overview of application development. All code from the application series books listed at: http://www.vkinfotek.com with permission. Publishers: VK Publishers Established: 2001 Type of books: Develop
More informationSilkTest Workbench. Getting Started with Visual Tests
SilkTest Workbench Getting Started with Visual Tests Borland Software Corporation 4 Hutton Centre Dr., Suite 900 Santa Ana, CA 92707 Copyright 2010 Micro Focus (IP) Limited. All Rights Reserved. SilkTest
More informationAdobe Sign for Microsoft Dynamics
Adobe Sign for Microsoft Dynamics Installation & Configuration Guide (v5) Last Updated: March 16, 2017 2017 Adobe Systems Incorporated. All rights reserved Table of Contents Overview... 3 Prerequisites...
More informationPrinted Documentation
Printed Documentation Table of Contents Getting Started... 1 Technical Support... 1 Introduction... 1 Getting Started... 3 Payment Option:... 3 Data Synchronization... 4 General Website settings... 5
More informationSILVACO. An Intuitive Front-End to Effective and Efficient Schematic Capture Design INSIDE. Introduction. Concepts of Scholar Schematic Capture
TCAD Driven CAD A Journal for CAD/CAE Engineers Introduction In our previous publication ("Scholar: An Enhanced Multi-Platform Schematic Capture", Simulation Standard, Vol.10, Number 9, September 1999)
More informationProcedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E
Procedures Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E51527-01 Table of Contents Procedures 1. ABOUT THIS MANUAL... 1-1 1.1 INTRODUCTION... 1-1 1.2 AUDIENCE... 1-1
More informationISTQB Training and Certifications. Automation Testing
ISTQB Training and Certifications Automation Testing Automation Testing Includes (Quick Test Professional, Load Runner, Quality Center) Automated Testing Tools (HP) Automation Introduction and Importance
More informationIBM i Version 7.2. Database Database overview IBM
IBM i Version 7.2 Database Database overview IBM IBM i Version 7.2 Database Database overview IBM Note Before using this information and the product it supports, read the information in Notices on page
More informationUnderstanding Acrobat Form Tools
CHAPTER Understanding Acrobat Form Tools A Adobe Acrobat X PDF Bible PDF Forms Using Adobe Acrobat and LiveCycle Designer Bible Adobe Acrobat X PDF Bible PDF Forms Using Adobe Acrobat and LiveCycle Designer
More informationBusiness Insight Authoring
Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,
More informationTechno Expert Solutions An institute for specialized studies! Introduction to Advance QTP course Content
Introduction to Advance QTP course Content NTRODUCTION TO AUTOMATION Automation Testing Benefits of Automation Testing Automation Testing Vs Manual Testing Automation Test Tools Tool selection criteria
More informationHP ALM. Software Version: Tutorial
HP ALM Software Version: 12.20 Tutorial Document Release Date: December 2014 Software Release Date: December 2014 Legal Notices Warranty The only warranties for HP products and services are set forth in
More informationChapter 2 Autodesk Asset Locator... 3
Contents Chapter 2 Autodesk Asset Locator....................... 3 Supported Operating Systems....................... 3 Installing Autodesk Asset Locator..................... 4 Define a Search...............................
More informationModule Five: Customizing Excel
Module Five: Customizing Excel Welcome to the fifth lesson in the PRC s Excel Workbooks Course 2. This lesson shows you how to make Excel easier and more productive through the customization. You will
More informationCertified Automation Functional Testing Professional VS-1253
Certified Automation Functional Testing Professional VS-1253 Certified Automation Functional Testing Professional Certified Automation Functional Testing Professional Certification Code VS-1253 The certification
More informationExcel Shortcuts Increasing YOUR Productivity
Excel Shortcuts Increasing YOUR Productivity CompuHELP Division of Tommy Harrington Enterprises, Inc. tommy@tommyharrington.com https://www.facebook.com/tommyharringtonextremeexcel Excel Shortcuts Increasing
More informationNormalizing repository tables with the Normalization wizard
Normalizing repository tables with the Normalization wizard Author: R&D Department Publication date: December 8, 2008 Revision date: December 2010 2010 Consyst SQL Inc. All rights reserved. Normalizing
More informationQSalesData User Guide
QSalesData User Guide Updated: 11/10/11 Installing the QSalesData Software... 2 Licensing the QSalesData Product... 3 Build QSalesData fields in ACT Step 2 of Install Checklist... 4 Adding the QB Data
More informationALM. Tutorial. Software Version: Go to HELP CENTER ONLINE
ALM Software Version: 12.55 Tutorial Go to HELP CENTER ONLINE http://admhelp.microfocus.com/alm/ Document Release Date: August 2017 Software Release Date: August 2017 ALM Legal Notices Disclaimer Certain
More information1 Preface About this Manual Intended Audience Revision History Document Conventions Version...
Table of Contents 1 Preface... 3 1.1 About this Manual... 3 1.2 Intended Audience... 3 1.3 Revision History... 3 1.4 Document Conventions... 3 1.5 Version... 4 2 Introduction... 5 2.1 Overview... 5 2.2
More informationBuilding reports using the Web Intelligence HTML Report Panel
Building reports using the Web Intelligence HTML Report Panel Building reports using the Web Intelligence HTML Report Panel Copyright 2008 Business Objects. All rights reserved. Business Objects owns the
More informationSTEP-BY-STEP GUIDE. To Functional Testing With TestComplete
STEP-BY-STEP GUIDE To Functional Testing With TestComplete Scale your UI Test Automation Strategy with TestLeft LEARN MORE ABOUT TESTCOMPLETE Contents Functional Testing Concepts 5 Functional Testing Features
More informationTable of Contents. Introduction Technical Support Getting Started Data Synchronization General Website Settings...
E-Commerce Table of Contents Introduction... 1 Technical Support... 1 Introduction... 1 Getting Started... 2 Data Synchronization... 2 General Website Settings... 3 Customer Groups Settings... 4 New Accounts
More informationTEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations. Babu Narayanan
TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations Babu Narayanan 1. Candidates for test automation. One of the classical mistakes of the test automation team is: NOT choosing right test
More informationGUARD1 PLUS Documentation. Version TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks
GUARD1 PLUS Documentation Version 3.02 2000-2005 TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks i of TimeKeeping Systems, Inc. Table of Contents Welcome to Guard1 Plus...
More informationAdministrator s Guide
Administrator s Guide 1995 2011 Open Systems Holdings Corp. All rights reserved. No part of this manual may be reproduced by any means without the written permission of Open Systems, Inc. OPEN SYSTEMS
More informationTelerik Test Studio. Web/Desktop Testing. Software Quality Assurance Telerik Software Academy
Telerik Test Studio Web/Desktop Testing Software Quality Assurance Telerik Software Academy http://academy.telerik.com The Lectors Iliyan Panchev Senior QA Engineer@ DevCloud Testing & Test Studio Quality
More informationIPdisplays Why US? or
IPdisplays Why US? Why us versus our competitors? 1) Ease of use 2) Ease of integration 3) Lowest cost of implementation 4) Easiest to re-task 5) No middle-ware required Current Technology Data Source
More informationHP ALM Overview. Exercise Outline. Administration and Customization Lab Guide
HP ALM 11.00 Administration and Customization Lab Guide Overview This Lab Guide contains the exercises for Administration and Customization of HP ALM 11 Essentials training. The labs are designed to enhance
More informationDesignPro Tools for Xerox Elixir Technologies Corporation. All rights reserved.
Follow the Crop Marks DesignPro Tools for Xerox Getting Started Guide C 1998-2008 Elixir Technologies Corporation. All rights reserved. Elixir Technologies Corporation 721 East Main Street Ventura, CA
More informationVP-UML Quick Start. Last update: October 15, Copyright Visual Paradigm International Ltd.
VP-UML Quick Start Last update: October 15, 2012 Copyright 2002-2012 Visual Paradigm International Ltd. Table of Contents Table of Contents... 2 Getting Started... 3 Installing Visual Paradigm for UML
More informationVPAT. Voluntary Product Accessibility Template. Version 1.3. Supporting Features. Not Applicable. Supported with Exceptions. Supported with Exceptions
VPAT Voluntary Product Accessibility Template Version 1.3 Date: 01 August 2014 Name of Product: kuracloud Contact for more Information: John Enlow (Chief Technical Officer) Summary Table Section 1194.21
More informationInformix Excel Reports Technical Guide
Informix Excel Reports Technical Guide Index Revision History... 1 Introduction... 1 Overview... 2 Scheduled Jobs... 3 HTML Pages... 3 JavaScript... 3 Auto-Refreshing Workbooks... 4 Parameterised Web Queries...
More informationSql Server Check If Global Temporary Table Exists
Sql Server Check If Global Temporary Table Exists I am trying to create a temp table from the a select statement so that I can get the schema information from the temp I have yet to see a valid justification
More informationInsightUnlimited Upgrades Best Practices. July 2014
InsightUnlimited Upgrades Best Practices July 2014 InsightUnlimited Version: 2012.2 and above Document Version: 1.1 Last Updated: July 29, 2014 Table of Contents Introduction... 4 Overview... 4 Audience...
More informationER/Studio Data Architect
Product Documentation ER/Studio Data Architect New Features Guide Version 8.5 October 7, 2009 Copyright 1994-2009 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th
More informationFalcon UniPro Stimulus Test Editor User Manual
Falcon UniPro Stimulus Test Editor User Manual Copyright Protocol Insight. All rights reserved. Licensed software products are owned by Protocol Insight or its suppliers, and are protected by national
More informationPaperClip32. Revision 2.0
PaperClip32 Quick Start Guide Revision 2.0 Copyright Information Copyright 2003, PaperClip Software, Inc. The PaperClip32 product name and PaperClip Logo are registered trademarks of PaperClip Software,
More informationElectronic Appraisal Delivery (EAD) Portal. FHA EAD Lender Admin Guide
Electronic Appraisal Delivery (EAD) Portal FHA EAD Lender Admin Guide Last Updated: October 2015 FHA EAD Lender Admin Guide Page 2 of 95 Version 1.3.1 TABLE OF CONTENTS INTRODUCTION... 5 WHAT IS THE ELECTRONIC
More informationConfiguring External Links in Visual Discovery AE
Copyright 2014 WebFOCUS Release 8.0 Version 08 July 2014 Technical Memo Information Builders Two Penn Plaza New York, NY 10121-2898 (212) 736-4433 TM4742 Configuring External Links in Visual Discovery
More informationChapter 1. Introduction to SASLE and Statistics
Chapter 1 Introduction to SASLE and Statistics 1-1 Overview 1-2 Statistical Thinking 1-3 Types of Data 1-4 Critical Thinking 1-5 Collecting Sample Data 2 Chapter 1: Introduction to SASLE and Statistics
More informationCA ERwin Data Modeler
CA ERwin Data Modeler Implementation Guide Release 9.5.0 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation
More informationMASTER-DETAIL FORMS. In this Chapter, you will learn about: Master-Detail Forms Page 108
CHAPTER 4 MASTER-DETAIL FORMS CHAPTER OBJECTIVES In this Chapter, you will learn about: Master-Detail Forms Page 108 In the previous Chapters, you created and worked with forms that had only one base-table
More information