Description
In this course, you will :
- By the end of this course, you will be able to use Appium to automate any (Native,Hybrid,Web) Android/IOS app.
- Extensive knowledge of Appium best practises and reusable utilities for automating apps on both real and simulated devices.
- Create an industry-standard mobile framework from the ground up that is compatible with both Android and iOS platforms.
- Implement an end-to-end CI/CD pipeline using Appium, including all framework features such as logging and reporting.
- Appium Framework was created using open source technologies such as Maven, TestNG, Jenkins, JUnit, Git, Extent Reports, and Apache Log4J2.
- Under the hood, use the Appium WebDriver Library to automate mobile browsers such as Chrome and Safari.
- You will be aware of the coding standards required to create the most optimised Mobile Automation Scripts.
- Using the best advanced REPORTING TOOL, you will be able to create GREAT LOOKING REPORTS.
- "Last but not least," you can pass any interview and lead the entire Appium Automation Project from design to completion.
Syllabus :
1. In Depth understanding of Android Native Apps automation with Appium
- Automating app UI Using Xpaths and text attributes
- Appium API's for UI interaction with id's and classNames
- Handling Mutiple similar objects of Apps with indexes
- AndroidUIAutomator usage in identifying objects of Apps
- TouchActions in Appium (Gestures Automation -1)
- Tapping and longpress events (Gestures Automation -2)
- Touch Actions Sequence Execution
- Strategy for automating Swipping event(Gestures Automation -3)
2. Advanced Gestures Automation with Key Events Handling using Appium
- Demo on swipping the clock- Practise exercises
- How to automate scrolling? Gestures Automation -5
- Drag and drop on Native Apps with Appium (Gesture Automation -6)
3. Automation on real Android Device Apps with Appium and its rules
- Configuring Real device to system for running Appium Tests
- Exercises on Real device-Native Apps automation
- Desired capabilities for Real device Execution
- Code for Mobile Browser capabilities
4. Real time Ecommerce App- End to end Practise Exercises
- Introduction to App features and test cases to automate
- Test Case in Filling the form details for shopping
- Verifying toast messages for error validations
- Testcase-Scrolling in product list example with Appium Android scroll
- Testcase-Dynamically selecting Product by scanning list based on text
- Be a Mentor or Get Guidance from QA Community
- TestCase- Validating the orders in checkout page
- TestCase- Validating Total amount generated functionality
- Code optimization with user defined functions
5. Hybrid App Automation with Appium to switch from Apps to Web browser
- Testcase - Validating Mobile Gestures of App ( Tap, Long Press)
- How to handle objects when rendered in Web view?
- TestCase -Automate Hybrid App with context Switch
6. Mobile Chrome Browsers Automation with Appium - Real time examples
- Desired capabilities to run Appium tests on Mobile browser
- How to inspect Chrome Mobile browser locators - Tips and tricks
- How to Scroll and put assertions on Browser Tests with Appium
7. Getting started with IOS Automation using Appium on MAC
- Install Xcode and Iphone 12 Simulator
- Define IOS Desired Capabilities and Invoke the App through Code
- Inspect IOS Objects with Appium Inspector
8. Automate IOS Advance Gestures functionalities with Appium
- Automate Scrolling on IOS Apps
- Appium IOS Automation Part 5 - Automate Picker Wheels (Dropdowns)
- Appium IOS Automation -Automate Sliders with IOS Element Class
- Strategy in working with IOS Gestures and App download
- Performing Long Press events with IOS Touch Action Class
- Performing Tapping events with IOS Touch Action Class
9. IOS Real device Automation Testing guidelines with example
- Install software's for real device Automation
- UDID, XcodeOrgId Generation for real device testing
- Bundle Id generation and running the Tests
10. Appium Framemwork- Part 1- Learn TestNG Basics
- TestNG Installation and Setup in Eclipse
- Run Basic TestNG Tests with Test Annotatio
- Testng Xml file configuration and its importance
- Prioritizing the Testcases with TestNG
- Include and Exclude Mechanism to control testcases
- Executing the Testcases at Package level with regex
- TestNg Annotations
- Usage of Groups functionality in TestNG
- Annotations helper attributes with examples
- Parameterising from TestNG xml file
- DataProvider Annotation -Parameterizing Testcases
- Listeners Interface in TestNG framework
- Running Tests in parallel and generating Reports
- TestNg code download
11. Framework Part 2 -Maven (Build Management tool)
- Configuration of Maven
- Creating Maven Project and Understanding its Terminologies
- Understanding POM.xml file and its dependencies
- Importance of surefirePlugin in executing Tests
- Integration of Testng with Maven
- Switching the Tests with Maven profiling
- code download
12. Framework Part -3- Jenkins- Continuous Integration Tool
- Importance of Jenkins in Test frameworks
- Install and Configure Jenkins
- Configuring Jenkin Settings and Workspace
13. Pageobject Pattern & page Factory
- What is Page object model?
- Page factory annotations FindBy
- Practical Example explaining Page factory
14. Appium Hybrid Framework design (Design Patterns)
- Maven Project template creation with workspace setup
- Configuring dependencies of the Project in Pom.xml
- Creating Driver Base class for Framework
- Initializing smart Global properties from Config Properties file
- Converting Project into Testng & eliminating hardcoded paths
- Implementing Page objects for tests in framework
15. Appium Hybrid Framework design Building Utilities
- make tests objects independent to drive from object classes
- Start& Stop Appium Server Programmatically through Java
- Building common utilities for Appium server invoke code
- Starting Emulator on fly through coded with user inputs
- Fixing framework bug by debugging code
16. Reporting and CI/CD Integration for the Appium Framework
- Capturing Screenshot on test failures using Testng Listeners
- Generating excellent Client html reports for Test Execution
- Parameterizing Test Data from external sources using Data provider
- Convert Project to Maven compatible by updating pom.xml
- Sending Global properties from Maven commands into tests
- Integrating Framework repo into Jenkins CI tool
- How to showcase your Appium skills with Job tips
- Complete framework code download
17. Running Appium Framework on the Cloud Servers with Parallel Execution
- How to utilize cloud Infrastructure like Browser Stack to run Appium Tests
- Run Tests on Cloud by building generic Capabilities Utility in the framework
- Run Appium Tests in parallel on Cloud with TestNG xml changes
18. Understanding Version Control System GIT (Bonus Section)
- Introduction to GIT
- Importance of Github and its uses
- Creating Git config and repositories
- How to push code to remote repository
- Understanding Staging and commit in git
- Add remote repository and push the committed code
- End to end working example on Git commands
- Importance of Branching in GIT
- How to resolve Merge conflicts with GIT
19. DataBase connection to Selenium/Appium Testcases
- Steps to connect Database to Selenium Testcases
- mysql download instructions
- mySQL server connection procedure
- Creating Database in mysql server
- Creating Tables in Databases
- Jdbc odbc connection overview
- Integration of Database with JDBC API
- Steps to conect Database info to Selenium
20. Java OOPS basics for Appium/Selenium
- Java first program basics
- Java program principles
- Classes, objects in Java
- Strings in Java
- Interface Concepts
- Program code download
- Practical Usage of Interface
- Runtime Polymorphisim
- Inheritance Concepts
- Practical usage of Inheritance
- Coding Basics
- Introduction to Arrays
- Single dimensional and Multidimensional arrays usage
- Examples of Arrays
- Array interview questions
- Programming example
- Reverse string -Interview question
- Date class concepts
- working with calendar objects in java
- Access modifiers basics
- How constructor plays a crucial role?
- Types of constructor and their usage