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...

How to Maximize a Browser window using Playwright Java

  Playwright itself does not have a direct maximize () method like some other browser automation tools, but you can achieve the effect by setting the viewport to the screen size of your display. Below are ways to handle Maximize a browser in Playwright Java  Ø   Setting the viewport to the screen size  o    setViewportSize(1920, 1080): This sets the browser window to a full HD resolution, effectively maximizing it. o    setHeadless(false): Ensures the browser runs in a visible mode so you can see the window being maximized.  Code Snapshot  Playwright playwright = Playwright. create ()   ;   Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));     // Create a new browser context   BrowserContext context = browser.newContext(new Browser.NewContextOptions()          .setViewportSize(1920, 1080));     ...

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 ( ...