1) SetUps
- Java Jdk and build path
- Eclipse
2) Basics Of Java
- Java Introduction
- DataTypes
- Looping Concepts
- Conditional Statement
- Concatenation Operator
- Local & Global Variable
- Static Variable
- Object
- Static & Non Static Concepts
- Object Reference
- Pass by Value
- Pass by Reference
- Constructor
- Overloading
- This Keyword
- What is Class?
- Polymorphism
- Inheritance
- Overriding
- Final Class
- Final Variable
- Final Method
- Interface
- Abstraction
- Encapsulation
- ArrayList
- HashTable
- Collections
- Convert DataTypes
- String To Integer
- Integer to String
3) Selenium WebDriver
- Why WebDriver?  Â
- Downloading and configuring webdriver in eclipse Â
- WebDriver Interface Â
- Drivers for Firefox, IE, chrome, etc
- First Selenium WebDriver Code Â
- Opening multiple browsers at one time
- Close and Quit methods in Webdriver
- HTML language tags Â
- Handling Links with WebDriver
- Extracting Xpaths and relevance of Xpaths Â
- Identifying Web Elements using id, name, linkname, class, xpath, tagname etc Â
- Handling Input Box/Buttons Â
- Handling Web List
- Handling Radio Buttons, CheckBoxes
- Extracting links and other web elements Â
- Capturing screenshots with WebDriver Â
- Window handles Â
- Tabbed browsing with SeleniumÂ
- Example of Tabbed browsing
- Pop up handling in Selenium Â
- Example of Pop up handling Â
- Pausing execution for sometime Â
- Introducing wait for sometime Â
- WebDriverWait Class
- Extracting Data From Web Table Â
- Dynamic Web Table Handling
- Attaching files with Selenium Â
- Mouse movement with Selenium- Mouse Interface Â
- Working with Calendar using Selenium Â
- Simulating front and back button click on Browser using selenium Â
- Maven integration with eclipse
- What is Maven
- What is POM
4) Read/Write Data
- Read/ Write data in Text File
- Read/Write data in Excel
- Read Data from Property File
5. Appium Course Contents
- Introduction to Mobile Automation
- Various tools for mobile application?
- What is Appium?
- What all can be tested with Appium?
- WebDriver Wire protocol
- Hybrid Apps, Native Apps and WebApps
- Concept of UIAutomator
- When to use Selendroid and when to use Appium
- IOS-driver
- Drawbacks and Limitations
- What is seledroid
- Difference between Appium and Selendroid
- How things came into being
- What should I learn?
6. Download and Configure Appium/Maven Dependency
- Configuring Appium on real device
- Why work on real device?
- Download and Configure Android on local machine
- Understanding difference between Api level and Android version
- API levels and Android versions supported by Appium supported by android
- Getting correct API level for Android
- Getting correct Android version in Phone â?? Provider dependant
- Enabling developer mode
- Debug level settings in Phone
- Connecting phone and making sure itâ??s being detected in DDMS(Pdanet software)
- Install Node JS
- Install Microsoft Dot Net framework
- Download Appium
- Configuring Various versioning/API level requirements for Appium
- Starting Appium Server from Console
- Starting Appium Server from command prompt
- Various command line arguments for Appium
- Running your first Appium Program
- Configuring Appium on Simulator
- Installing Simulator
- Running first Script on Simulator
- Maven dependencies
- Various Maven/POM dependencies for Appium
- Downloading/Configuring Appium, Selenium from Maven/POM dependencies
7. Launching Hybrid/Native Apps with Appium
- Desired Capabilities for Appium and Android
- Concept of Apk file, AppActivityName and AppPackage
- How to get Apk file, AppActivityName and AppPackage for any application
- Is Apk file necessary to test App â?? Not in all cases
- Javadocs for Appium
- AppiumDriver and RemoteWebDriver classes
- Launching System Hybrid Apps
- Appium reinstalls App
- Preventing Appium from deleting and reinstalling App
- Launching other user installed Hybrid Apps
- Launching native Apps like calculator, Contacts, Settings
- Always quit Appium â?? Mandatory
8. Identifying Elements-1
- Concept of UI Automator
- Understanding Android Layouts
- Tag name not supported
- android.widgit.* â?? everything starts from here
- Find Element and FindElementByAndroidUIAutomator
- Using UISelector Class in UIAutomator API
- Finding by Classname
- Detecting presence of Elements
- Building Xpaths
- Challenges faced in finding Elements and Workarounds
- Using Android UI Automatorâ??sUISelector() and its functions
- Hiding Keyboard
- Waiting â?? Implicit and explicit waits
- Using UI Automator in Compressed layout
9. Identifying Elements-2
- Finding multiple Elements
- Finding Elements inside Elements
- ComplexFind and Mobile Element
- Finding Elements with Multiple criteria using Complex Find
- Selector Key codes
- Finding elements by text using AndroidUIAutomator commands
- Using Assertions
- Handling Date Elements/Objects
- Selecting element in Spinner
- Finding selected Elements
- Getting Value from Text View
- Finding selected Elements
- Clear value of a Text View
10. XML Viewer
- Getting and storing the Android App XML view
- When to use android xml view
- Launching XML View from WebDriver
- Finding Elements in XML view
- Finding Scroll List elements in XML View
- you can do anything with XML View
- Limitations of XML view
- Touch Actions
- Touch Events
- Android key events like home, backspace, delete etc.
- Wait Actions
- Dragging and dropping elements
- Multitouch Actions
- Simulating multiple gestures
- Longpress and delete elements
- Handling Toggle buttons
- Pinching, tapping, holding
11. Web Application Testing
- Launching browser with Appium
- Making sure you have the correct desired capabilities
- When launch fails
- Firing various commands on browser
- Will UIAutomator work here?
- How do I identify objects in mobile browser?
- Will AppiumDriver commands work on browser?
- WFinding and setting user agent
13) JENKINS, GIT,GITHUB INTEGRATION
- GIT, GITHUB
- Downloading and installing GIT
- Installing GIT and GITHUB plugins for jenkins
- Configuring ssh hostkeys for GIT and Jenkins
- GIT bash commands and operation
- Uploading project to GIT using GIT bash
- Cloning Projects
- Creating branch/forks
- Jenkins integration
- Continuous Integration
- Downloading and installing Jenkins
- Executions of Batch commands
- Executing project build with ant
- Executing project build on remoe server/github with ant
- Build triggers
- Mailing if fails
- Configuring maven projectin Jenkins
- Configuring remote git maven project in Jenkins
11) Automation Scripts Creation â??Live Project Working