I (G C Reddy), selected Selenium WebDriver, Selenium Grid, Eclipse IDE, Java Programming, TestNG Testing Framework, and Selenium Hybrid Framework for the Automated Test Environment.
Selenium Tutorial for Beginners
Module 1: Introduction
Manual Testing Experience or Knowledge, Programming Fundamentals, and Web/HTML Basics.
Choose Selenium Tool/s, Other Plugins, and Frameworks, Java Programming for Selenium, and TestNG Testing Framework for Selenium. Selenium Automation Framework (Hybrid Framework)
What is Selenium?, Features of Selenium, Selenium History, Selenium Components / Selenium’s Tool Suite, Platforms supported by Selenium, Advantages of Selenium, Drawbacks of Selenium, Selenium Test Environment, and Selenium Test Process.
Selenium Tutorial for Beginners
Introduction to Java Programming, What is Java?, Features of Java, Editions of Java, Applications of Java, and Java Programming Syllabus.
An Overview of Java Programming, Java Installation, Java Programming Environment Setup, Java Language Fundamentals, and Java Object-Oriented Programming.
Java Installation and Java Environment Setup, Download & Install Java JDK software, set Java Environment variable, and Install Eclipse IDE.
Java keywords are also known as reserved words. Keywords are particular words that act as a key to a code. Identifiers in Java are symbolic names used for identification. They can be a class name, variable name, method name, package name, constant name, and more.
Java Basic Syntax, Java case sensitive, Java Program structure, Java coding standards, Java modifiers, Java comments, and Writing Java Programs.
Java Program Structure, Java Environment setup, Java Syntax, Java Language Fundamentals, Writing Java statements, and writing Java code blocks.
Comments in Java, writing comments in Java programs, Java single line comments, Java multi-line comments, and Java documentation comments.
Data Types in Java, Primitive Data Types, Non-primitive Data Types, Java Strings, Java Numbers, Java Characters, and Java Boolean Data Type.
What is a Variable?, Explicit Declaration of Variable, Types of Variables in Java, Local; Variables. Instance Variables, and Static Variables.
Operators in Java, Operator Precedence in Java, Arithmetic Operators, Relational Operators, Assignment Operators, and Logical Operators.
Java Control Flow, Java Decision Making Statements, Java if statement, Java else statement, Java nested conditions, and Java Switch case statement.
Java Loop Statements, Java Control Flow, Java for loop, while loop, do while loop, enhanced for loop, and Java nested loop statements.
Looping in programming languages is a feature that facilitates the execution of a set of instructions/functions repeatedly while some condition evaluates to true.
Java Branching Statements, Java Programming Fundamentals, Java Control Flow, Java break, Java continue, and Java return statements.
Branching statements are used to transfer control from one point to another in the code Branching statements are defined by three keywords – break, continue and return
Java Strings, What is String?, Declare Strings in Java, String handling in Java, String Methods, String Concatenation, and String Comparison.
Strings in Java are objects, and they are immutable. Whenever a change to a String is made, an entirely new String is created.
Arrays in Java, What is Array in Java, Declare Arrays, Java Array built-in methods, advantages of Java Arrays, and Drawbacks of Java Arrays.
In Java, Array is an Object that holds a fixed number of values of a single data type, The length of the Array is established when the Array is created, and Array length is fixed and index starts from zero to n-1.
Java ArrayList, create ArrayList, add elements to ArrayList, return ArrayList size, remove elements of ArrayList, and clear all elements of the ArrayList.
Java Array is Static Data Structure and ArrayList is Dynamic Data Structure
Reading User Input, Java User Input, Java Output, Java Scanner Class, Java System Class, Java File Handling, and Java Database Connectivity.
The Scanner class is used to get user input and it is available in java.util package
To use the Scanner class, create an object of the class, using any available methods perform reading operations
File Handling in Java, Java Input and Output operations, handling text files, create a file, read a file, write a file, and compare two files.
Built-in Methods in Java, Categories of Java built-in methods, Java String methods, Java Number Methods, Java Character methods, and Java Array methods.etc,
A Java method is a set of statements that are grouped together to perform an operation.
User-Defined Methods in Java, Java Static and Non-static methods, Java method with return a value, and java method without return a value.
An exception is a problem that arises during the execution of a program. When an Exception occurs the normal flow of the program is disrupted and the program/Application terminates abnormally.
Exception Handling is a mechanism to handle runtime errors.
Java Object-Oriented Programming, Class, Object, Method, Java Inheritance, Polymorphism in Java, Java Abstraction, and Java Encapsulation.
Inheritance is a process of inheriting (reusing) class members (Fields/Variables and Methods) from one class to another.
Java Inheritance, Java Object-Oriented Programming, Types of Inheritance in Java, single inheritance, multiple inheritances, and ‘extends’ keyword.
Polymorphism is derived from two Greek words: poly and morphs.
Polymorphism in Java is a concept by which we can perform a single action in different ways.
We have two types of Polymorphism:
1. Compile Time Polymorphism/Method OverLoading
2. Run-Time Polymorphism/Method Overriding
25. Java OOPS – Abstraction
26. Java OOPS – Encapsulation
Module 3: Selenium WebDriver
According to Selenium’s official website (selenium.dev) Selenium automates browsers, Selenium’s primary purpose is Testing of Web Applications, and Selenium is also supported Automating Web-based administration tasks.
Selenium WebDriver is used for Functional & Regression Testing of Web Applications, It supports various Operating systems, programming languages, web browsers, and Testing frameworks.
Selenium WebDriver supports Batch Testing, Data-Driven Testing, Cross Browser Testing, and Database Testing.
Selenium is not an all-inclusive test tool, it requires third-party frameworks & plugins to broaden the scope of testing. So first choose Selenium Tools and Other Software for Testing.
Example: Eclipse IDE as Editor for writing Test Scripts, Java for Programming, and TestiNG as Test Runner.
Download & Install Java, set Java Environment Variable path, download Eclipse IDE and install, add WebDriver jar file/s to the Java project, and Download TestNG plugin & Install in Eclipse IDE.
Web or HTML Elements, web page, frame, link, button, radio button, checkbox, drop-down box, list box, combo box, image, web table, para, and page headers.
Selenium Element Locators like id, name, className, linkText, partialLinkText, cssSelector, and xpath to recognize the elements during Automated Testing.
One of the most fundamental techniques to learn when using WebDriver is how to find elements on the page. WebDriver offers a number of built-in selector types.
An important task in Automated Functional Testing is ‘Locating Elements’ or Object Identification.
Selenium supports eight types of locators to locate/identify/recognize elements in web pages.
(id(), name(), className(), tagName(), linkText(), partialLinkText(), cssselector(), xpath())
Selenium WebDriver Methods, Actions on web elements, Selenium Brower commands, browser navigation commands, and commands on web elements.
Element Locators – Locating/Identifying/Recognizing elements in web pages
Selenium WebDriver methods – To perform actions on web elements
Note: Using Element Locators and WebDriver methods we create Test steps.
Handling Web Elements in Selenium, handle browser, edit box, button, link, checkbox, radio button, image, dropdown box, text, popup window, web/HTML table, web frame, etc,
Pre-requisites to create Test cases in Selenium
1. Web/HTML Elements
2. Element Locators (To recognize/identify Elements)
3. Selenium WebDriver Methods (To perform operations on Elements)
Prerequisites for writing Selenium WebDriver Test Cases…
1. Select Manual Test Case for Automation
2. Element Locators to Locate/Recognize/Identify Elements/Objects
3. Selenium WebDriver API Commands to perform operations on elements
4. Programming Concepts to enhance the Test Cases
5. Testing Framework (Junit/TestNG) to group Test cases, prioritize Test cases, execute Test batches and generate Test Reports.
Cross Browser Testing is a type of test to check that our Web Application works as expected in different Browsers.
A web application can be opened in any web browser by the end-user, So we need to ensure that the web application will work as expected in all popular browsers.
Selenium Cross Browser Testing, What is Cross Browser Testing?, Popular Web Browsers, Browser Compatibility Testing using Selenium WebDriver.
Executing a Test case using multiple sets of data is called Data-driven testing. By using any resource (Test Data file) we can conduct Data-driven testing.
Data-driven testing is for conducting Positive and Negative Testing.
Write Selenium Data-Driven Test Case, Inspect HTML Elements, Identify unique locators for Web elements, and perform actions on the web elements using Selenium Webdriver methods.
10. Batch Testing
Page Object Model in Selenium, Create Object Repositories in Selenium, Advantages of Page Object Model, and reuse elements in Selenium Test Cases.
Page Object is a Design Pattern that has become popular in test automation for enhancing test maintenance and reducing code duplication.
We use Testing Framework as Test Runner in Selenium, it is used to prioritize Test cases, Grouping Test cases, Execute Test batches, and generate Test Reports.
1. Install TestNG and write first TestNG Program
2. Create multiple Test cases & Run
3. Execute/Run multiple programs using XML
4. Grouping Test Cases
5. Parallel Testing
6. Data-Driven Testing using @DataProvider annotation
Selenium Automation Framework using Selenium WebDriver, Java Programming, TestNG, and Maven, etc.
Selenium Test Environment Setup, Creating Object Repositories using Page Object Model, Creating customized commands, creating reusable functions, and collecting test data.
Creating Selenium Test cases using Automation resources, executing the test cases, and exporting test results.
Software Testing Project to practice Manual Testing, automated testing using Selenium or UFT.
Software Test Requirements, Software Test Scenarios, Software Test Cases, Software Test Execution, and Test Life Cycle Closure.