Think from a framework design perspective and move beyond straightforward coding skills. You'll design an enterprise level test framework that is capable of supporting both TDD and BDD at the same time, using the latest open source tools and coding best practices. Taking a less-is-more approach, superfluous information is excised in favor of sleek and direct instruction and focused coding practices.
Your framework will be built with Spring-Boot, Gradle, and Junit. And it will support HP QC integration, Allure (TDD, BDD), Extent (BDD), and customized Pdf reporting (TDD, BDD). Extensive utilities are provided, such as HP ALM integration, device management utilities, email reporting, pdf reporting, OCR utility, Log utility, and more! There's also a special chapter on internationalization/localization testing in multiple languages. After reading this book, you'll have full confidence in your ability to build new test automation frameworks for yourself.
Though primarily written for software professionals who are in test automation, recent engineering graduates who have programming knowledge and want to prepare for a role in mobile test automation will also find what's taught here helpful. Test engineers and computer science graduates alike can use what they learn here to become absolute pros in test automation.You will:
- Design an enterprise level mobile test automation framework capable of supporting both TDD and BDD
- Work with the latest open source tools and coding best practices
- Build with Spring-Boot, Gradle, and Junit while supporting HP QC integration, Allure, Extent, and customized PDF reporting
Autorentext
Koushik Das is an Automation Architect with over 18 years of experience in software development, manual testing, and test automation. He has built automation frameworks for mobile, web, and desktop applications using a variety of tools. Koushik believes in leveraging the power of test automation whenever possible and has recently published a book to help mobile test automation engineers graduate to an architect role. When not testing software, Koushik likes reading, traveling, and playing with his baby daughter.
Inhalt
Introduction
Chapter 1: Automation Framework Overview
Framework Technology Stack
Framework Key Features
Scripting Strategy Followed
Automation Coding Standards Followed
Chapter 2: Creating the Wireframes with Spring-Boot
Bootstrapping with Spring-Boot
Opening Your Project in IntelliJ
IntelliJ Plugins
Deciding on your Folder Structure
Chapter 3: Configuring Gradle
Preparing build.gradle
Preparing gradle.properties
Creating Annotations for Gradle Tasks
Preparing settings.gradle
Chapter 4: Creating the Properties Files
Creating Your Properties Files
Reading from Properties File with Spring-Boot Library
Reading from Properties File Traditional Way
Chapter 5: Creating Android, iOS and Web Drivers On Demand
Creating Driver with Standard Desired Capabilities
Creating Driver with Default Service
Creating Drivers for Grid or Cloud Execution
Quitting Driver and Teardown
Chapter 6: Enhancing Framework - Common Mobile Actions
Creating Variables
Coding for Common Screen Actions
Chapter 7: Creating Page Objects
Initializing Page Objects and Workflow Class
Deciding on Locator Strategy
Writing Page Object Methods
Chapter 8: Writing Your First Test Suite
Using Various Annotations
Writing Soft Assertions
Plugging in the Reporting Module
Running Test Suite in Gradle
Chapter 9: Importing Test Data From Excel, XML or Other Formats
Importing Test Data from Excel
Importing Test Data From XML and Other Formats
Chapter 10: Adding BDD Capabilities with Cucumber
Using Spring Runner with Cucumber
Generating ExtentReport in Runner Class
Writing Step Definitions
Running Test Suite in Gradle
Chapter 11: Adding Allure Reporting for TDD and BDD
Generating Allure Report
Viewing Allure Report
Chapter 12: Making Extent Report Better and Workable with Junit
Making Extent Report Work with JUnit
Improving Extent Report to Print Data-Tables
Creating Separate Extent Report for each Test-Suite
Chapter 13: Creating a PDF Report with Screenshots
Creating a PDF Util to Generate reports for each Test SuitePassing Parameters to PDF Util from Test Suite
Merging Multiple PDFs
Chapter 14: Enhancing Framework - Screenshots
Creating Screenshot and Saving at Default Location
Creating Screenshot and Saving at Variable LocationCreating Screenshot with Page Object Name
Chapter 15: Testing Multiple Apps and Versions in Same Test Suite
Testing Multiple Versions of App in Same Test Suite
Testing Multiple Apps in Same Test Suite
Best Practices To Follow
Chapter 16: Running Scripts or Batch Files From Test Suite
Scenarios Where Running Script or Batch Files Are Required
Running Script or Batch Files from Test Suite
Some Examples
Chapter 17: API Testing
Testing REST API with Web Client
Example
Chapter 18: Advanced Topic I - Adding Device Management Functions
Overview
Unlocking DeviceToggling Wi-Fi
Setting Language
Setting Device Date, Time, Timezone and Time Format
Reading Device Properties
Enabling and Disabling App Notifications
Chapter 19: Advanced Topic 2 - Integrating with HP ALM
Using ALM 15.x API
Login and Authentication
CRUD Operations in AboutAppTestSuite
Chapter 20: Advanced Topic 3 - Adding Localization Testing Capabilities
Deciding on Approach Based on Requirements
Localization Testing in Android
Localization Testing in iOS
Chapter 21: Advanced Topic 4 - Implementing Parallel Test Execution
Managing multiple Sessions
Updating BaseTest Class
Updating Test Suites and Step Definitions
Chapter 22: Other Utilities
Overview
OCR Util
Image Comparison UTIL
Email Util
Appendix
Audience: Intermediate