List of figures
Fig. 2.1Structure of a test suiteFig. 2.2Insertion markerFig. 2.3Example tableFig. 2.4The simple search dialogFig. 2.5The advanced search dialogFig. 2.6Result list for 'Locate references'Fig. 2.7Incremental searchFig. 2.8The replace dialogFig. 2.9The replace query dialogFig. 3.1Quickstart WizardFig. 3.2Startup sequence created by the Quickstart WizardFig. 3.3GUI technology informationFig. 4.1Disabled and enabled Record buttonFig. 5.1Components of a GUIFig. 5.2Readability of SmartIDsFig. 5.3Readability of identifiersFig. 5.4Readability of SmartIDs in panels with descriptionFig. 5.5Component tree 1Fig. 5.6Stable component recognition - Example 1Fig. 5.7Stable component recognition - Example 2Fig. 5.8Using a regular expression in the Feature attributeFig. 5.9Component hierarchy of a Swing SUTFig. 5.10Component nodeFig. 5.11Extra feature attribute for component recognition via XPath or CSS selector.Fig. 5.12An Item for a table cellFig. 5.13Update components dialogFig. 5.14UI InspectorFig. 5.15General informationFig. 5.16Web-specific informationFig. 5.17 Android-specific informationFig. 5.18 Windows-specific informationFig. 5.19 Swing-specific informationFig. 5.20 FX-specific informationFig. 5.21 SWT-specific informationFig. 5.22QF-Test specific informationFig. 6.1Direct and fallback bindingsFig. 6.2Definition of system variables in the options dialogFig. 6.3Variable exampleFig. 6.4Variable definitionsFig. 6.5Displaying variable groups in the debug modeFig. 7.1A simple test and its run logFig. 7.2Error states in a run logFig. 7.3Display of duration indicators in the run logFig. 8.1Test suite structureFig. 8.2Test structure with simple Setup and CleanupFig. 8.3Test execution with simple Setup and CleanupFig. 8.4Packages and ProceduresFig. 8.5Dependency stack A-B-CFig. 8.6Good practice Setup nodeFig. 8.7Dependency stack A-B-D-EFig. 8.8Dependency with Characteristic variablesFig. 8.9Exception in forced cleanup sequence of C causes B to clean upFig. 8.10Typical Cleanup nodeFig. 8.11Example Test set for name spacesFig. 8.12Dependency handling for test case 'Data entry by User A'Fig. 8.13Dependency handling for test case 'Offer processing by User C'Fig. 8.14Dependency handling for test case 'Check offer 1 in DMS'Fig. 8.15Dependency handling for test case 'Data entry by User B'Fig. 8.16Dependency handling for test case 'Offer processing by User D'Fig. 8.17Dependency handling for test case 'Check offer 2 in DMS'Fig. 9.1The Project ViewFig. 10.1Standard library qfs.qftFig. 11.1Detail view of a Server script with help window
for rc methods
Fig. 11.2Overview of the types of variables in QF-TestFig. 12.1Unit Test node with Java classesFig. 12.2Example Unit Test node with InjectionsFig. 12.3Example Unit Test node with InjectionsFig. 12.4Unit Test ReportFig. 14.1Cross-Browser TestsFig. 16.1Android studio start screenFig. 16.2Android studio virtual device creation screenFig. 16.3Android studio screen to chose a device definitionFig. 16.4Android studio screen to download and select the system imageFig. 16.5Android studio screen to finish the AVD configuration procedureFig. 16.6Android studio screen showing available AVDsFig. 16.7Quickstart wizard screen to select the application typeFig. 16.8Quickstart wizard screen to select the emulate as test deviceFig. 16.9Quickstart wizard screen to select the AVDFig. 16.10Quickstart wizard screen to select an APKFig. 16.11Quickstart wizard screen to specify the client nameFig. 16.12Android setup sequence created by the quickstart wizardFig. 16.13Android emulator windowFig. 16.14Quickstart wizard screen to select the application typeFig. 16.15Quickstart wizard screen to select the real deviceFig. 16.16Quickstart wizard screen to select a .apk fileFig. 16.17Quickstart wizard screen to specify the client nameFig. 16.18Android setup sequence created by the quickstart wizardFig. 16.19QF-Test Android recording windowFig. 16.20Android utility proceduresFig. 17.1Xcode in the macOS App StoreFig. 17.2Recommended App Store settingsFig. 17.3Platform management in XcodeFig. 17.4The iOS Simulator menuFig. 17.5Navigate to the iOS profile trust sectionFig. 17.6Quickstart wizard screen to select the application typeFig. 17.7Quickstart wizard screen to select the test deviceFig. 17.8Quickstart wizard screen to select an app fileFig. 17.9Quickstart wizard screen to specify the client nameFig. 17.10iOS setup sequence created by the quickstart wizardFig. 17.11QF-Test iOS recording windowFig. 17.12iOS utility proceduresFig. 18.1PDF Client main window with PDF documentFig. 18.2Check text 'default'Fig. 18.3Check text 'Text positioned'Fig. 18.4Check Items 'Text as items (whole page)'Fig. 18.5Check Items 'Text positioned as items (whole page)'Fig. 18.6Check text 'Text (whole page)'Fig. 18.7Check text 'Text positioned (whole page)'Fig. 18.8Check Image 'default' recording of a Text objectFig. 18.9Check Image 'default' recording of an Image objectFig. 18.10Check Image 'unscaled' recording of an Image objectFig. 18.11Check Image 'scaled' recording of an Image objectFig. 19.1Quickstart wizard resultFig. 19.2Excerpt of the run log of an axe accessibility testFig. 19.3Error message for the selected error aboveFig. 19.4Screenshot: Overview of problematic and skipped elementsFig. 19.5Example settings for report generationFig. 22.1Pre- and Post-request structureFig. 22.2Pre- and Post-request flowFig. 22.3Browser HTTP GET requestFig. 22.4Browser HTTP GET responseFig. 23.1A simple data-driven testFig. 23.2Data table exampleFig. 23.3Run log of a data-driven testFig. 23.4Data-driven test with nested loopsFig. 23.5Second data table exampleFig. 23.6Run log of a data-driven test with nested loopsFig. 24.1Example reportFig. 25.1Dialog to rerun test casesFig. 26.1Options Dialog "Artificial Intelligence"Fig. 26.2Options Dialog "Agent Skills"Fig. 26.3AI Assistant DialogFig. 26.4Example of an AI-generated Test with Start ProcedureFig. 26.5Dialog "Generate Data with AI" with PromptFig. 26.6Example of an Check text with AI StepFig. 26.7Example of an AI Instruction StepFig. 27.1Result of analyzing referencesFig. 29.1Recorded proceduresFig. 29.2The Procedure Builder definition fileFig. 30.1Integration with ALM - QualityCenterFig. 30.2QF-Test VAPI-XP-TEST test case in HP ALM - QualityCenterFig. 30.3In Test plan create new Test setFig. 30.4Create new test of type VAPI-XP-TESTFig. 30.5HP VAPI-XP WizardFig. 30.6Test detailsFig. 30.7Copy template content to script text areaFig. 30.8New test set in Test lab sectionFig. 30.9Add test to execution gridFig. 30.10Run the testFig. 30.11Test resultFig. 30.12Uploaded run logFig. 30.13Script debug runFig. 30.14QF-Test run log in QMetryFig. 31.1Eclipse plugin configuration - tab 'Main'Fig. 31.2Eclipse plugin configuration - Tab 'Settings'Fig. 31.3Eclipse plugin configuration - Tab 'Initial Settings'Fig. 31.4Jenkins after start-up.Fig. 31.5Install QF-Test Plugin.Fig. 33.1Excel file business-related keywordsFig. 33.2Test suite business-related keywordsFig. 33.3Procedure fillDialogFig. 33.4Excel file of generic componentsFig. 33.5Test suite for generic componentsFig. 33.6Test suite Behavior-driven testing technicalFig. 33.7Test suite Behavior-driven testing from business perspectiveFig. 33.8Excel file as scenario fileFig. 33.9Test suite scenario fileFig. 35.1Load testing scenarioFig. 35.2Overview load testing projectFig. 35.3Sample test suite daemonController_twoPhases.qftFig. 35.4Call of rc.syncThreads in demo test suiteFig. 36.1Example for a ManualStepDialogFig. 39.1Structure of multiple test suitesFig. 39.2Including test suites of level 1Fig. 39.3Structure of different test suites with rolesFig. 43.1Options treeFig. 43.2Overview of general optionsFig. 43.3General optionsFig. 43.4ProjectsFig. 43.5Saving test suitesFig. 43.6DisplayFig. 43.7EditingFig. 43.8BookmarksFig. 43.9External tools optionsFig. 43.10Backup file optionsFig. 43.11Library optionsFig. 43.12License optionsFig. 43.13Update optionsFig. 43.14Overview of test management optionsFig. 43.15Test management optionsFig. 43.16TMT optionsFig. 43.17Xray optionsFig. 43.18Overview of recording optionsFig. 43.19Recording optionsFig. 43.20Options for events to recordFig. 43.21Options for events to packFig. 43.22Dragging to a sub-menuFig. 43.23Options for recording componentsFig. 43.24Popup menu for recording componentsFig. 43.25Options for recording sub-itemsFig. 43.26Options for the recording windowFig. 43.27Options for recording procedure callsFig. 43.28Procedure Builder optionsFig. 43.29Overview of replay optionsFig. 43.30Replay optionsFig. 43.31Client optionsFig. 43.32Terminal optionsFig. 43.33Event handling optionsFig. 43.34Component recognition optionsFig. 43.35Delay optionsFig. 43.36Timeout optionsFig. 43.37Options for replay backward compatibilityFig. 43.38SmartID und qfs:label-OptionenFig. 43.39Options for AndroidFig. 43.40Options for iOS TestsFig. 43.41Overview of web optionsFig. 43.42Web optionsFig. 43.43Options for HTTP RequestsFig. 43.44Default values for the Web request stepFig. 43.45Options for web backward compatibilityFig. 43.46SWT optionsFig. 43.47UI Inspector optionsFig. 43.48Overview of the options for artificial intelligenceFig. 43.49AI optionsFig. 43.50AI agent skills optionsFig. 43.51Tool Exposure optionsFig. 43.52Debugger optionsFig. 43.53Overview of run log optionsFig. 43.54General run log optionsFig. 43.55Options for splitting run logsFig. 43.56Options determining run log contentFig. 43.57Run log options for screenshotsFig. 43.58Options for mapping between directories with test suitesFig. 43.59Overview of variable optionsFig. 43.60Variable optionsFig. 44.1Test suite attributesFig. 44.2Test case attributesFig. 44.3Test set attributesFig. 44.4Test call AttributesFig. 44.5Sequence attributesFig. 44.6Test step attributesFig. 44.7Sequence with time limit attributesFig. 44.8Extras attributesFig. 44.9Dependency attributesFig. 44.10Dependency reference attributesFig. 44.11Setup attributesFig. 44.12Cleanup attributesFig. 44.13Error handler attributesFig. 44.14Data driver attributesFig. 44.15Data table attributesFig. 44.16Database attributesFig. 44.17Excel data file attributesFig. 44.18CSV data file attributesFig. 44.19Data loop attributesFig. 44.20Procedure AttributesFig. 44.21Procedure call AttributesFig. 44.22Return AttributesFig. 44.23Package AttributesFig. 44.24Procedures AttributesFig. 44.25Attributes of a Procedure call definitionFig. 44.26Loop attributesFig. 44.27While attributesFig. 44.28Break attributesFig. 44.29Continue attributesFig. 44.30If attributesFig. 44.31Elseif attributesFig. 44.32Else attributesFig. 44.33Try attributesFig. 44.34Catch attributesFig. 44.35Finally attributesFig. 44.36Throw attributesFig. 44.37Rethrow attributesFig. 44.38Server script attributesFig. 44.39SUT script attributesFig. 44.40Start Java SUT client attributesFig. 44.41Start SUT client attributesFig. 44.42Start process attributesFig. 44.43Execute shell command attributesFig. 44.44Start web engine attributesFig. 44.45Start PDF client attributesFig. 44.46Start windows application attributesFig. 44.47Attach to windows application attributesFig. 44.48Launch Android emulator attributesFig. 44.49Connect to Android device AttributesFig. 44.50Connect to iOS device AttributesFig. 44.51Wait for client to connect attributesFig. 44.52Wait for mobile device AttributesFig. 44.53Open browser window attributesFig. 44.54Launch a mobile app attributesFig. 44.55Stop client attributesFig. 44.56Wait for process to terminate attributesFig. 44.57Mouse event attributesFig. 44.58Key event attributesFig. 44.59Text input attributesFig. 44.60Window event attributesFig. 44.61Component event attributesFig. 44.62Selection attributesFig. 44.63File selection attributesFig. 44.64Check text attributesFig. 44.65Check text with AI attributesFig. 44.66Boolean check attributesFig. 44.67Check items attributesFig. 44.68Check selectable items attributesFig. 44.69Check image attributesFig. 44.70Check geometry attributesFig. 44.71Fetch text attributesFig. 44.72Fetch index attributesFig. 44.73Fetch geometry attributesFig. 44.74Fetch image attributesFig. 44.75Web request attributeFig. 44.76Pre-request handler attributeFig. 44.77Post-request handler attributesFig. 44.78Request authentication data attributesFig. 44.79Request settings attributesFig. 44.80Comment attributesFig. 44.81Error attributesFig. 44.82Warning attributesFig. 44.83Message attributesFig. 44.84Set variable attributesFig. 44.85Set image AttributesFig. 44.86Wait for component to appear attributesFig. 44.87Wait for document to load attributesFig. 44.88Wait for download to finish attributesFig. 44.89Load resources attributesFig. 44.90Load properties attributesFig. 44.91Server HTTP request AttributeFig. 44.92Browser HTTP request AttributeFig. 44.93Unit test server attributesFig. 44.94Unit test client attributesFig. 44.95Install CustomWebResolver attributesFig. 44.96CustomWebResolver configuration template actionsFig. 44.97CustomWebResolver edit menuFig. 44.98Attributes of the Accessibility Checks stepFig. 44.99AI Instruction attributesFig. 44.100Window attributesFig. 44.101Web page attributesFig. 44.102Component attributesFig. 44.103Item attributesFig. 44.104Window group attributesFig. 44.105Component group attributesFig. 44.106Windows and components attributesFig. 44.107Test attributesFig. 44.108CustomWebResolver call in Setup node of the Quickstart WizardFig. 48.1Starting the SUT from a script or executableFig. 48.2Starting the SUT through Java WebStartFig. 48.3Starting the SUT from a jar archiveFig. 48.4Starting the SUT via the main classFig. 48.5Launch the browser processFig. 48.6Open the web site in the browserFig. 48.7Opening a PDF DocumentFig. 53.1Reduction of complexity for "CarConfigurator Web" demoFig. 53.2Installing the CustomWebResolver in the Setup node of the Quickstart WizardFig. 53.3CustomWebResolver configuration templatesFig. 53.4CustomWebResolver with a template for genericClassesFig. 53.5CustomWebResolver with two generic classesFig. 53.6CustomWebResolver with more complex mappingFig. 53.7CarConfigurator WebFig. 53.8CarConfigurator WebFig. 53.9Simplification due to simple class mappingFig. 53.10Recording of '-5%' button in "CarConfigurator Web" demoFig. 53.11Recording with genericClasses in "CarConfigurator Web"Fig. 53.12Simplification due to advanced class mappingFig. 53.13Recording of SPAN text fieldsFig. 53.14Recording text fields in "CarConfigurator Web"Fig. 53.15Simplification for complex componentsFig. 53.16Recording of a table in "CarConfigurator Web"Fig. 53.17Recording of resolved table item in "CarConfigurator Web"Fig. 53.18Simplification of the "CarConfigurator Web" demoFig. 54.1Example of the Accessibility Checks node with selection menu and definitionFig. 56.1UI Automation procedures in the standard libraryFig. 56.2The WPF demo applicationFig. 58.1Pseudo class hierarchy for web elementsFig. 63.1Original imageFig. 63.2Classic image checkFig. 63.3Pixel-based identity checkFig. 63.4Pixel-based similarity checkFig. 63.5Block-based identity checkFig. 63.6Block-based similarity checkFig. 63.7HistogramFig. 63.8Analysis with Discrete Cosine TransformationFig. 63.9Block-based analysis with Discrete Cosine TransformationFig. 63.10Bilinear FilterFig. 63.11Image-in-image search: Expected imageFig. 63.12Image-in-image search: Got imageFig. 64.1Sample result list for 'Locate references'Fig. A.1Set browser maximum memoryFig. C.1Keyboard helper