Selenium
Contact Form
Overview
Students Prerequisites
Course Curriculum
Duration of the Course
Instructor Profile
Overview
Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language (Selenium IDE). Selenium Testing is a popular open-source web based automation tool. It as well as provides a test area specific language to write trials in a number of big programming languages, admitting Java, C#, PHP, Perl, Ruby and Python.
Students Prerequisites
- Basic understanding of manual QA Process
- Must have basic knowledge on Manual Testing, HTML/JavaScript, and Java Concepts.
Course Curriculum
Module 1: Introduction to Selenium
- What is Selenium?
- Overview of Selenium as a tool for browser automation.
- Features and benefits of Selenium.
- Types of Selenium tools:
- Selenium WebDriver.
- Selenium IDE (Integrated Development Environment).
- Selenium Grid.
- Selenium Remote Control (RC) – deprecated.
- Comparison with Other Automation Tools
- Selenium vs. QTP/UFT, TestComplete, and others.
- When to use Selenium over other tools.
Module 2: Selenium Setup
- Prerequisites
- Installing Java (or Python, C#, etc. based on preferred language).
- Setting up IDEs (Eclipse, IntelliJ IDEA for Java, PyCharm for Python).
- Installing the necessary Selenium WebDriver.
- Setting up the browser drivers (ChromeDriver, GeckoDriver for Firefox, EdgeDriver, etc.).
- Introduction to Maven/Gradle (for dependency management in Java projects).
- Introduction to pip (for Python dependencies).
- Selenium WebDriver Overview
- Introduction to WebDriver.
- Difference between Selenium WebDriver and Selenium RC.
- WebDriver architecture and components.
Module 3: WebDriver Basics
- Launching and Managing Browsers
- Launching browsers using WebDriver.
- Navigating to a webpage.
- Maximizing the browser window.
- Managing multiple windows and tabs.
- Handling alerts and popups.
- Locating Elements
- Introduction to WebDriver Locators (ID, Name, XPath, CSS Selector, ClassName, LinkText, PartialLinkText).
- Choosing the right locator strategy.
- Working with dynamic elements using advanced XPath and CSS Selectors.
- Basic WebDriver Commands
- Clicking on elements.
- Typing into text boxes.
- Extracting text from elements.
- Selecting options from dropdowns (Select class).
- Submitting forms.
Module 4: Handling Dynamic Elements
- WebElement Interface
- Understanding WebElement and its methods.
- Performing actions on WebElements.
- Waits in Selenium
- Implicit Waits.
- Explicit Waits.
- Fluent Waits.
- Difference between waits and their appropriate use cases.
- Handling synchronization issues with waits.
Module 5: Advanced WebDriver Features
- Handling Multiple Windows/Tabs
- Switching between windows and tabs.
- Managing multiple windows/tabs.
- Handling Pop-ups and Alerts
- Alert handling: accept, dismiss, get text, send keys.
- Modal dialogs and other pop-ups.
- Handling iFrames
- Switching to and from iFrames.
- Interacting with elements inside iFrames.
- Handling Cookies
- Working with browser cookies (get, delete, set cookies).
- Mouse and Keyboard Events
- Using Actions class to simulate mouse movements, clicks, double clicks, and keyboard inputs.
- Drag and Drop actions.
- Keyboard actions using Keys class.
Module 6: Selenium with Advanced Elements
- Handling Dropdowns
- Working with static and dynamic dropdowns.
- Using Select class to interact with dropdowns.
- File Uploads and Downloads
- Automating file uploads in web forms.
- Automating file downloads.
- Handling Frames
- Switching between multiple frames.
- Interacting with elements inside frames.
- Handling Tables
- Interacting with dynamic HTML tables.
- Fetching data from tables.
- Sorting and filtering table data.
Module 7: Selenium WebDriver with TestNG
- Introduction to TestNG
- Overview of TestNG framework.
- Setting up TestNG with Selenium.
- TestNG annotations (@BeforeSuite, @Test, @AfterMethod, etc.).
- TestNG reporting and logging.
- Parameterized tests in TestNG.
- Parallel Test Execution
- Running tests in parallel using TestNG.
- Creating and executing test suites.
- Handling test dependencies.
Module 8: Selenium WebDriver with Maven/Gradle
- Introduction to Maven/Gradle
- Setting up Selenium with Maven.
- Introduction to pom.xml file in Maven.
- Adding dependencies for WebDriver and TestNG.
- Using Gradle for managing Selenium dependencies.
- Managing Dependencies
- Managing Selenium WebDriver, TestNG, and other libraries.
- Understanding versioning and updates of dependencies.
Module 9: Selenium Grid
- What is Selenium Grid?
- Overview of Selenium Grid for parallel test execution.
- Architecture of Selenium Grid (Hub and Node).
- Setting up a Selenium Grid with multiple nodes.
- Running tests in parallel across different browsers and environments.
- Benefits of Selenium Grid in cross-browser testing.
Module 10: Continuous Integration and Selenium
- Selenium in CI/CD Pipeline
- Integrating Selenium with Jenkins.
- Setting up Jenkins for automated Selenium tests.
- Triggering Selenium tests as part of the CI/CD pipeline.
- Reporting and managing results in Jenkins.
- Integrating Selenium with GitHub or Bitbucket.
Module 11: Automation Frameworks
- What is a Framework?
- Introduction to test automation frameworks.
- Benefits of using frameworks.
- Types of Automation Frameworks
- Data-Driven Framework.
- Keyword-Driven Framework.
- Hybrid Framework.
- Page Object Model (POM) Framework.
- Implementing Page Object Model (POM) in Selenium
- Understanding the POM design pattern.
- Creating a Page Object Model in Selenium.
- Advantages of POM.
- Reporting with Frameworks
- Integrating with Extent Reports for detailed test reports.
- Generating HTML reports with TestNG.
Module 12: Advanced Topics
- Headless Browser Testing
- Introduction to headless browsers (e.g., HTMLUnitDriver, PhantomJS).
- Configuring headless browsers for Selenium.
- Running tests in a headless environment (without GUI).
- Mobile Testing with Selenium
- Introduction to Appium for mobile automation.
- Setting up Appium with Selenium WebDriver.
- Running tests on Android and iOS devices using Appium.
- Best Practices for Selenium Automation
- Writing clean and maintainable code.
- Optimizing test execution.
- Handling exceptions and failures in Selenium scripts.
- Best practices for debugging Selenium tests.
Module 13: Selenium Advanced Features
- Cross-browser Testing
- How to test across different browsers (Chrome, Firefox, IE, Safari).
- Handling browser-specific issues.
- Selenium for API Testing
- Introduction to API testing with Selenium.
- Using Rest Assured or other tools with Selenium for API testing.
Duration of the Course
40 Days (also available fast track course with short term duration )
- Flexible Schedules
- Live Online Training
Instructor Profile
- Training by highly experienced and certified professionals
- No slideshow (PPT) training, fully Hand-on training
- Interactive session with interview QA’s
- Real-time projects scenarios & Certification Help
- 24 X 7 Support