Create an Enterprise-Level Test Automation Framework with Appium: Using Spring-Boot, Gradle, Junit, ALM Integration, and Custom Reports with TDD and BDD Support
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.
What You’ll Learn
- 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
Who This Book Is For
Software professionals working in test automation. Recent engineering graduates who have programming knowledge and want to prepare for a role in mobile test automation should also find it helpful.
About the Author About the Technical Reviewer Introduction Target Audience How to Use This Book Credits and Acknowledgments Acronyms Used Copyright and Disclaimer Chapter 1: Automation Framework Overview Framework Technology Stack Framework Key Features Scripting Strategy Automation Coding Standards Use Functional Programming Over Imperative Approach Summary Chapter 1: Automation Framework Overview Framework Technology Stack Framework Key Features Scripting Strategy Automation Coding Standards Use Functional Programming Over Imperative Approach Summary Chapter 3: Configuring Gradle Preparing build.gradle Preparing gradle.properties Creating Annotations for Gradle Tasks Preparing settings.gradle Summary Chapter 4: Creating the Properties Files Creating Your Properties Files Reading from Properties File with Spring-Boot Library Reading from Properties Files in the Traditional Ways Summary Chapter 5: Creating Android, iOS, and Web Drivers on Demand Creating a Driver with Standard Desired Capabilities Creating a Driver with Default Service Creating Drivers for Grid or Cloud Execution Quitting Driver and Teardown Summary Chapter 6: Enhancing the Framework: Common Mobile Actions Creating Variables for the MobileBaseActionScreen Class Coding for Common Screen Actions Summary Chapter 7: Creating Page Objects Initializing Page Objects and Workflow Class Deciding on Locator Strategy Writing Page Object Methods Summary Chapter 8: Writing Your First Test Suite Using Various Annotations Writing Soft Assertions Plugging in the Reporting Module Running Test Suite in Gradle Summary Chapter 9: Importing Test Data from Excel, XML, or Other Formats Importing Test Data from Excel Importing Test Data from XML and Other Formats Summary Chapter 10: Adding BDD Capabilities with Cucumber Using a Spring Runner Class with Cucumber Generating Extent Report in Runner Class Writing Step Definitions Running Test Suite in Gradle Summary Chapter 11: Adding Allure and Enhanced Extent Reports Generating Allure Report Viewing Allure Report Making Extent Report Work with Junit Improving Extent Report to Print Data Tables Creating Separate Extent Report for Each Test Suite Summary Chapter 12: Creating a Pdf Report with Screenshots Creating a PdfUtil Class to Generate Report for Each Test Suite Passing Parameters to PdfUtil from a Test Suite Merging Multiple PDFs Summary Chapter 13: Enhancing the Framework: Screenshots Creating Screenshot and Saving in Default Location Creating Screenshots and Saving in Various Locations Creating Screenshot with Page Object Name Summary Chapter 14: Testing Multiple Apps and Versions in Same Test Suite Best Practice You Should Follow Testing Multiple Versions of App in Same Test Suite Testing Multiple Apps in Same Test Suite Summary Chapter 15: Running Scripts or Batch Files from Test Suite Scenarios in Which Running a Script or Batch Files Is Required Running Script or Batch Files from Test Suite Summary Chapter 16: API Testing Testing REST API with Web Client Updating TestautomationApplicationTests Summary Chapter 17: Advanced Topic 1: Adding Device Management Functions Overview Unlocking the Device Toggling the Wi-Fi Setting the Language Setting the Device Date, Time, Time Zone, and Time Format Reading Device Properties Enabling and Disabling App Notifications Summary Chapter 18: Advanced Topic 2: Integrating with HP ALM Using ALM 15.x API Login and Authentication CRUD Operations in AboutAppTestSuite CRUD Operations in TestautomationApplicationTests Summary Chapter 19: Advanced Topic 3: Adding Localization Testing Capabilities Deciding on Approach Based on Requirements Localization Testing in Android Localization Testing in iOS Summary Chapter 20: Advanced Topic 4: Implementing Parallel Test Execution Managing Multiple Sessions Updating BaseTest Class Updating Test Suites and Step Definitions Summary Appendix A: Other Utilities OCR Util Image Comparison Util Email Util Appendix B: Automation Setup Step 1: Install Open JDK and Configure JAVA_HOME Step 2: Install Gradle and Configure GRADLE_HOME Step 3: Install Git and Set Up git config Step 4: Install Appium Step 5: Install Carthage Step 6: Install Xcode Step 7: Install Android Studio Step 8: Save System Variables in Bash Profile Step 9: Install IntelliJ Index
How to download source code?
1. Go to:
2. In the Find a repository… box, search the book title:
Create an Enterprise-Level Test Automation Framework with Appium: Using Spring-Boot, Gradle, Junit, ALM Integration, and Custom Reports with TDD and BDD Support, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.