Skip to main content

Advanced Selenium Course Details

Advanced Selenium Course Details

  • Start Date: 7th December 2024

  • Session Timings:
    • 17:30 PM IST (India Time)
    • 12:00 PM UK (London Time)
    • 20:00 PM MY (Malaysia Time)
  • Course Duration: 24 hours (Weekend sessions only, 2 hours per session; total 12 sessions)
  • Course Fee: ₹3,999/-

Demo Session Video

We have provided a recorded demo session for this course, where the coverage and overview of the topics are explained in detail. Watch it here:
Click here to watch the demo session on YouTube

Subscribe My Channel for Updateshttps://www.youtube.com/@QAShastra?sub_confirmation=1

Contact:

๐Ÿ“ฑ WhatsApp: +91 891 947 3262

๐Ÿ“ง Email: qashastraonlinetraining@gmail.com

Selenium Course Topics


Core Java

1. Data Types

  • Primitive types:
    • Integer types (byte, short, int, long).
    • Floating-point types (float, double).
    • char (for single characters like 'A').
    • boolean (for true/false values).
  • Non-primitive types:
    • Arrays, Strings, Classes, and Objects.

2. Variables

  • Local variables: Declared inside methods or blocks and have a limited scope.
  • Instance variables: Declared in a class but outside methods. They belong to an object.
  • Static variables: Declared with the static keyword, shared among all instances.

3. Operators

  • Arithmetic: +, -, *, /, %.
  • Relational: ==, !=, >, <, >=, <=.
  • Logical: &&, ||, !.
  • Bitwise: &, |, ^, ~, >>, <<.
  • Assignment: =, +=, -=, etc.

4. Control Statements

  • Decision-making:
    • if, if-else, switch-case.
  • Loops:
    • for (including enhanced for loop for arrays and collections).
    • while, do-while.
  • Branching:
    • break, continue, return.

5. Arrays

  • Collections of fixed-size, same-type data elements.
  • Single-dimensional arrays: int[] arr = {1, 2, 3};.
  • Multi-dimensional arrays: int[][] matrix = {{1, 2}, {3, 4}};.
  • Common methods: Arrays.sort(), Arrays.copyOf().

6. Strings

  • Immutable objects stored in the String Pool.
  • Important methods:
    • length(), substring(), equals(), toLowerCase(), toUpperCase(), etc.
  • StringBuilder and StringBuffer:
    • Mutable alternatives to String.

7. Classes and Objects

  • Class: Blueprint for objects. E.g., class Car { int speed; }.
  • Object: Instance of a class. E.g., Car myCar = new Car();.
  • Access Modifiers:
    • public, private, protected, default (package-private).

8. Constructors

  • Used for initializing objects.
  • Default constructor: Automatically provided if none is defined.
  • Parameterized constructors: Allow passing parameters.
  • Constructor overloading: Multiple constructors in a class with different parameter lists.

9. Methods

  • Define behavior of objects.
  • Static methods: Belong to the class (e.g., Math.sqrt()).
  • Non-static methods: Belong to objects.
  • Overloading: Same method name, different parameters.
  • Overriding: Redefining a method from the superclass.

10. Inheritance

  • Allows classes to reuse fields and methods from another class.
  • Single Inheritance: One class extends another.
  • Multilevel Inheritance: Chain of inheritance.
  • super: Refers to the superclass.

11. Polymorphism

  • Compile-time polymorphism: Achieved through method overloading.
  • Runtime polymorphism: Achieved through method overriding.

12. Encapsulation

  • Data hiding achieved using private fields and public getters/setters.
  • Improves code maintainability and security.

13. Abstraction

  • Hiding implementation details using abstract classes and interfaces.
  • Abstract classes:
    • May have both abstract and non-abstract methods.
  • Interfaces:
    • All methods are implicitly public and abstract (Java 8 allows default methods).

14. Exception Handling

  • Ensures program flow isn't disrupted due to runtime errors.
  • Try-Catch-Finally:


15. Collections Framework

  • Provides data structures and utilities.
  • List: ArrayList, LinkedList.
  • Set: HashSet, TreeSet.
  • Map: HashMap, TreeMap.
  • Iteration: Using loops or Iterator.

16. Java 8 Features

  • Lambda Expressions:
  • Optional Class
  • Streams API: For processing collections.
  • Functional Interfaces: E.g., Runnable, Callable.

Selenium WebDriver Basics

  • Setting up Selenium WebDriver environment.
  • WebDriver architecture.
  • Locating Web Elements using:
    • By locators: id, name, className, tagName.
    • XPath and CSS Selectors.
    • Partial Link Text and Link Text.
  • WebDriver commands:
    • Navigation: get(), navigate().
    • Browser commands: close(), quit(), getTitle().
    • Element actions: click(), sendKeys(), clear(), getText().

5. Advanced WebDriver Concepts

  • Handling Dynamic Web Elements.
  • Handling Alerts, Popups, and Frames.
    • switchTo().
  • Handling Dropdowns, Radio Buttons, and Checkboxes.
  • Working with multiple browser windows/tabs.
  • Capturing Screenshots.

6. WebDriver Waits

  • Implicit Wait.
  • Explicit Wait (WebDriverWait class).
  • Fluent Wait.

7. Actions Class

  • Mouse and keyboard operations:
    • Mouse Hover.
    • Drag and Drop.
    • Double Click and Right Click.

8. Handling Web Tables

  • Identifying rows and columns.
  • Extracting data from tables.
  • Dynamic web tables.

9. Page Object Model (POM)

  • Overview of POM.
  • Creating Page Object Classes.
  • Benefits of POM in test automation.
  • POM with and without PageFactory.


1. Selenium BDD Framework

  • Maven & Java 8 or Open JDK 21
  • Java Basics
  • Install Cucumber Plugin in IntelliJ IDEA & Cucumber with Selenium WebDriver
  • Selenium and Cucumber Framework
  • Maven command line

2. Git

  • Git details (Commands)

3. Jenkins

  • Jenkins Jobs
  • Jenkins Pipeline
  • Jenkins GitHub Integration
  • Jenkins Integration with Selenium Project
  • Selenium Run & Generate Reports

4. Docker

  • What is Docker
  • Docker Installation
  • Docker Architecture: Image and Container
  • Docker Basics and Important Commands
  • Docker Command Practices
  • Docker Port Mapping
  • Docker Volume Mapping
  • Docker Networking
  • What is a Docker File?
  • Passing Values to Containers
  • Deploying Images to Docker Hub
  • Docker Compose

5. Selenium WebDriver with Jenkins, GitHub, and AWS

  • Create Selenium Project for Docker
  • Parameterization in Selenium
  • Selenium Grid using Docker
  • Execute Selenium Tests in Docker
  • Create a Jar File
  • Create Docker Compose
  • Set up Jenkins in Docker
  • Create Nodes and Connect with Jenkins
  • GitHub Integration with Docker
  • Jenkins & GitHub Integration in Docker
  • Execute Selenium Projects Using GitHub & Jenkins in Docker

6. Selenium Grid 4 Using Docker Kubernetes

  • What is Kubernetes?
  • Docker Hub and Node Setup with Docker
  • Video Recording in Kubernetes
  • Automating Setup and Teardown
  • Integration of Selenium Using Kubernetes

Comments

Popular posts from this blog

Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript)

๐ŸŽฅ Setup Browser, Context, Page & Run Config Test Scripts with package.json & playwright.config.js Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript) 1. Install Playwright You can install Playwright using the following command: npm init playwright@latest 2. Create a Basic Test Script Understand the core Playwright architecture: Element Description browser Controls the browser instance (like Chrome, Firefox, etc.) context Acts like a separate browser profile (cookies, localStorage are isolated) page A single browser tab where interaction happens 3. Run the Test npx playwright test example.spec.js Ways to Run TypeScript Tests Way Command Notes ๐ŸŸข Via npx npx playwright test Uses built-in TypeScript support ๐ŸŸข With s...

Playwright Test Structure in Details -Session-02

๐ŸŽฅ Playwright: test.only, Hooks & Grouping with test.describe Explained Let’s go step-by-step , showing how to build from a single test , to using beforeEach / afterEach , and then organizing things with test.describe . ✅ Step 1: Basic Single Test with test.only import { test, expect } from '@playwright/test' ; test. only ( '๐Ÿš€ Basic test - check title' , async ({ page }) => { await page. goto ( 'https://example.com' ); await expect (page). toHaveTitle ( /Example Domain/ ); }); test.only ensures only this test runs — great for debugging. ✅ Step 2: Add beforeEach and afterEach import { test, expect } from '@playwright/test' ; test. beforeEach ( async ({ page }) => { console . log ( '๐Ÿ”„ Setting up before each test' ); await page. goto ( 'https://example.com' ); }); test. afterEach ( async ({ page }, testInfo) => { console . log ( `๐Ÿ“ฆ Finished test: ${testInfo.title} `); }); test. only ( ...

Playwright Locators in JavaScript (Complete Guide)

๐ŸŽฏ Playwright Locators in JavaScript (Complete Guide) This guide explains each Playwright locator with: ✅ What it is ๐Ÿ• When to use ⚙️ How to use it ๐ŸŽฏ Benefits ๐Ÿงช Code Examples ๐Ÿ”น 1. Locator by ID ✅ What: Selects an element with a unique id . ๐Ÿ• When: Element has a unique id . ⚙️ How: page.locator('#username') ๐ŸŽฏ Benefit: Fast and reliable. <input id="username" /> await page.locator('#username').fill('John'); ๐Ÿ”น 2. Locator by Class ✅ What: Selects by class . ๐Ÿ• When: Repeated or styled elements. ⚙️ How: page.locator('.password') ๐ŸŽฏ Benefit: Useful for shared styling. <input class="password" /> await page.locator('.password').fill('12345'); ๐Ÿ”น 3. Locator by Text ✅ What: Matches visible element text. ๐Ÿ• When: For buttons, links, etc. ⚙️ How: page.getByText('Login') ๐ŸŽฏ Benefit: Human-readable. <button>Login...