Module 01 : Java Course
Introduction to java
- What is java
- Programming language hierarchy
- Java files
- Camel casing
- Identifiers
- Java Components naming standards
- Java source file declaration rules
- First Java program
Classes and Objects
- Introduction to Classes and objects
- Understanding Java Heap
- Creating first Class and Object
Variables and Operators
- Introduction to Variables and their data types
- Primitive and Non-primitive variables
- Variable Casting
- Object references
- Java Operators
Java Methods and their communication
- Introduction to methods
- Method arguments and return types
- Pass by Value
- Encapsulation
- Getters and Setters
Loops and Arrays
- If-else statement
- While loop
- Do-while loop
- For loop
- Enhanced for loop
- Arrays – 1D and 2D
- Reference in an array
Understanding Java-API
- Understanding API using ArrayList
- ArrayList fundamentals
- Using Java Library
- Using Packages
- Using HTML- API docs
Inheritance and Polymorphism
- Understanding inheritance and inheritance tree
- Methods overriding and the rules
- IS-A and HAS-A relationship
- Super class Vs Subclass
- Method Overloading
- Access Modifiers
Abstract Classes and Interfaces
- Abstract classes and methods
- Mother of all classes – “Object class”
- Polymorphic reference
- Object reference casting
- Deadly Diamond of Death
- Interfaces and it’s implementation
Garbage Collection and Constructors
- Concept of Stack and Heap
- Methods and classes on Stack and Heap
- Constructors
- Constructor Overloading
- Constructor chaining and this() keyword
- Garbage collection eligibility
Statics and data formatting
- Static methods, variables and constants
- Math class and methods
- Wrapper classes
- Auto boxing
- Data formatting and static imports
Exception handling
- Risky java codes
- Introduction to Java Exceptions
- Catching exceptions using try/catch block
- The finally block
- Catching multiple exceptions
- Handle or Declare law of exceptions
Serialization and file I/O
- Saving objects state
- Writing serialized object
- I/O streams
- Serializable interface
- Deserialization
- Java IO file
- Reading/Writing a text file
Collections
- Introduction to Java collections
- Concept of generics
- Lists
- Sets
- Map
- Hashmap
JDBC
- JDBC concepts and terminology
- JDBC package
- Creating connection to a DataBase
- Accessing and manipulating tables using JDBC
- Sql statements
Module 02 : Selenium WebDriver 3.0
Introduction to Selenium WebDriver
- What is WebDriver
- Exploring Webdriver java docs
- Downloading Webdriver jar files
- Open Google home page through WebDriver
- Exploring more features of WebDriver
- WebDriver Features & Examples
- Handling HTML Elements such as: Text box, Hyperlinks, Submit buttons,
- Radio buttons, Check boxes, Dropdown etc
- Finding Elements & text on a Webpage
- Printing all links and other values from a webpage and HTML Elements
- Using By class to find elements using different methods
- Implement global wait
- Running test in multiple browsers
- Firefox profile
- Running test in multiple profiles
Advance WebDriver Features
- Simulating keypress events such as buttons such as Enter, page up, pagedown, backspace
- Handling java script messages
- Working with online captchas
- Running the test with HTMLUnit driver
- Online Webtables
- Downloading and configuring chrome driver
- How to find Xpaths through Chrome developer tool
- Generating your own Xpaths
- What if you don’t have firebug or firepath
- Handling multiple pop ups/tabs in Chrome
- Handling Mouse over Menus and Iframes
Ajax & Listeners
- How to handle Ajax based applications
- Browser navigate methods
- Listeners
- Mouse movements
- Explore action class mouseover method
- Working with Javascriptexecutor
- Drag and Drop
- Resizable
- Handling Sliders
Flash Testing with Selenium WebDriver
- What is flash/flex testing
- Downloading and installing flash jar file
- Automating flash player
- Using different call methods of YouTube flash player
Module 03 : TestNG Framework
Integration and Execution of Test Suite using TestNG Framework
- What is TestNg
- Installing TestNg in Eclipse
- TestNg Annotations
- Understanding usage of annotations
- Running a Test in TestNg
- Batch Running of tests in TestNg
- Skipping Tests
- Parameterizing Tests – DataProvider
- Assertions/Reporting Errors
- TestNg Reports
- Advantages over Junit
Module 04 : ReportNG Framework
- ReportNG is a simple plug-in for the TestNG unit-testing framework to generate HTML reports as a replacement for the default TestNG HTML reports.
- Configuring ReportNG with TestNG for HTML Reports
Module 05 : Selenium Grid -Cross Plateform & Parallel Execution
Cross Browser and Cross Platform Testing using Web Driver
- What is Selenium-Grid
- How Selenium-Grid Works–With a Hub and Nodes
- Configuring Selenium-Grid
- Default Configuration
- JSON Configuration File
- Configuring Via the Command-Line Options
- Node Configuration
- Timing Parameters
Module 06 : Robot Classes
Module 07 : Integration of Selenium with Jenkins
During our training we will cover the following aspects:
- Installation and setup of Jenkins & Selenium project on your laptop.
- Jenkins Overview.
- Jenkins Plugins.
- Jenkins Configuration for a Java-based Project.
- Integration of Selenium and Jenkins CI.
- Reporting and Validation in Jenkins.
- Continuous integration and continuous testing
- Test Execution.
- SVN, Junit, Source Control, Ant, Maven Java integration.
Module 08 : Data Driven & Hybrid Test Automation Framework
Covers end to end steps followed while creating the framework:
- Test Data files
- TestCore class which loads Xls file, run selenium server through code and do other initialization
- Object.Properties file to store Xpaths
- Configuration Files
- Skipping Test Cases
- Screenshot Capturing
- Emailing Test Results
- Generating Reports
- Generating Application and Selenium logs
- Running framework automation through Maven
Module 09 : Database Testing – Java DataBase Connectivity JDBC
- Installing MySQL Database
- Java.Sql Package|JDBC Drivers
- Connection Interface
- Statement and Prepared Statement Interfaces
- ResultSet Interface
- Firing Select, Insert, Update and Delete queries with database using Java JDBC
- Looping the ResultSet
- Using Annotations of Junit/TestNg to establish connection with database when Using Selenium