1. Introduction to Python
- What is Python?
- Features and Applications of Python
- Installation & Environment Setup
- Introduction to Python Shell and IDEs
2. Variables, Keywords, Data Types, and Identifiers
- Variables
- Keywords
- Data Types (int, float, str, bool, etc.)
- Identifiers
- Type Casting
3. Data Structures in Python
a. Strings
- String Data Types
- String Methods
- String Slicing and Indexing
b. Lists
- List Data Types
- List Methods
- List Slicing
c. Tuples
- Tuple Data Types
- Tuple Operations
d. Sets
- Set Data Types
- Set Operations and Methods
e. Dictionaries
- Dictionary Data Types
- Dictionary Methods and Operations
4. Operators in Python
- Arithmetic Operators
- Logical Operators
- Relational (Comparison) Operators
- Bitwise Operators
- Assignment Operators
- Membership Operators
- Identity Operators
5. Control Flow Statements
- Conditional Statements (if, elif, else)
- Looping Statements (for, while)
- break, continue, and pass
6. Input and Output in Python
- input() function
- print() function and formatting
7. Functions
- Defining and Calling Functions
- Types of Functions (Built-in, User-defined)
- Arguments (Positional, Keyword, Default, Variable-length)
- Return Statements
- Recursion
- Anonymous Functions (lambda)
8. Object-Oriented Programming (OOPs) in Python
- Classes and Objects
- __init__ Constructor
- Instance vs Class Variables
- Inheritance
- Method Overriding
- Access Specifiers (Public, Private, Protected)
- self Keyword
- super() Function
9. Exception Handling
- try, except, else, finally
- Raising Exceptions (raise)
- Custom Exceptions
- assert Statement
10. Python Comprehensions
- List Comprehension
- Dictionary Comprehension
- Set Comprehension
11. Decorators
- Decorators
12. Functional Programming Tools
- map()
- filter()
- lambda Expressions
- reduce()
Selenium–Syllabus
1. Introduction to Automation Testing
- What is Automation Testing?
- When to Switch to Automation?
- Why Automation Testing?
- Pros and Cons of Automation
- Overview of Popular Tools (Selenium, Playwright, Cypress, etc.)
2. Introduction to Selenium with Python
- What is Selenium?
- Selenium Features and Limitations
- Selenium WebDriver Architecture
- Installing Selenium with Python using pip
- Setting up WebDriver (Chrome, Firefox, Edge)
- Writing Your First Selenium Script
3. Locators in Selenium
- Introduction to Locators
- Types of Locators:
- ID
- Name
- Class Name
- Tag Name
- Link Text / Partial Link Text
- CSS Selector
- XPath
- XPath in Detail:
- Absolute vs Relative
- Functions (contains, starts-with, text())
- Complex XPath Cases
4. WebElement and Element Operations
- Finding Elements
- find_element() and find_elements()
- Common WebElement Methods:
- click(), send_keys(), clear(), text
- Validations and Checkpoints:
- is_displayed(), is_enabled(), is_selected()
- Handling Lists of Elements (Checkboxes, Tables, etc.)
5. Waits and Synchronization
- Why Waits are Needed
- Types of Waits:
- Implicit Wait
- Explicit Wait
- Custom Wait
- Static Wait
6. Handling Web Controls and UI Elements
- Dropdown Handling:
- Keyboard Actions:
- Mouse Actions using ActionChains:
- Taking Screenshots
- Scrolling:
- Handling Alerts and Popups:
- Window-Based Popup Solutions
- Handling Frames:
- Handling Multiple Windows and Tabs:
7. Selenium Grid
- Cross browser testing
- Parallel execution
- Cloud platforms
8. Automation Frameworks
a. Introduction
- What is a Test Automation Framework?
- Types:
- Modular
- Data-Driven
- Keyword-Driven
- Hybrid
- Page Object Model (POM)
b. Page Object Model (POM)
- Creating Page Classes
- Keeping Locators and Actions Separate
- Using __init__() to pass driver instance
- Benefits of POM
c. Data Handling
- Reading and Writing Excel using openpyxl / pandas
d. Pytest for Frameworks
- Installing and Setting Up Pytest
- Writing Test Cases with Pytest
- Using assert Statements
- Fixtures and Reusability
- Grouping and Markers
- Skipping and Parametrizing Tests
- Parallel execution
9. Version Control & CI/CD
- Git & GitHub
- Framework management using git
- Jenkins
- Framework integration with Jenkins
10. Hybrid Framework Implementation
- What is a Hybrid Framework?
- Designing Folder Structure
- Integrating:
- POM
- Pytest
- Excel Data
- Custom Utilities
- Generating HTML Reports
- Executing End-to-End Automation Flows
API Manual Testing – Syllabus (Postman-based)
1. Introduction to API and Web Services
- What is an API (Application Programming Interface)?
- What is a Web Service?
- Types of APIs: REST vs SOAP (Basic Understanding)
- What is CRUD Operation?
- Create – POST
- Read – GET
- Update – PUT
- Delete – DELETE
- HTTP Methods Overview:
- GET, POST, PUT, DELETE, PATCH
- RESTful Architecture Basics
2. Exploring APIs through a Browser
- Understanding APIs from UI Applications
- Inspecting API Calls using Developer Tools (Network Tab)
- Viewing API Requests and Responses in Real-Time
3. Pre-Requisites for API Testing
- Understanding HTTP Status Codes
- 1xx, 2xx, 3xx, 4xx, 5xx categories
- JSON Structure and Syntax
- Key-Value Pairs, Arrays, Nested Objects
- Understanding API Response Formats (JSON, XML)
4. Getting Started with Postman
- Introduction to Postman
- Installing Postman (Desktop/Browser)
- Postman UI Overview (Menus, Features, Tabs)
- Creating Your First GET Request
- Understanding the Response:
- Status Code
- Response Body
- Response Headers
- Response Time
5. Working with API Requests in Postman
- Using Query Parameters and Path Variables
- Adding and Modifying Headers
- Common Headers (Content-Type, Authorization, etc.)
- Header Presets
- Authentication vs Authorization
- Types: Basic Auth, Bearer Token, OAuth (Intro)
- Example: Accessing GitHub API with Authentication
6. Performing CRUD Operations with Postman
- Creating POST Requests with JSON Payloads
- Sending PUT Requests for Updating Resources
- Deleting Resources using DELETE Requests
- Understanding Request and Response JSON
7. Postman Environments & Variables
- Creating and Using Environments
- Global, Environment, and Local Variables
- Using {{variables}} in URLs and Headers
- Initializing and Pre-setting Test Data
8. Collections in Postman
- Creating Collections and Organizing Requests
- Using Folders for Test Organization
- Collection Runner – Executing Multiple Tests
- Running Data-Driven Tests using CSV/JSON Files
- Exporting and Importing:
- Collections
- Environments
- Variables
API Automation Testing Syllabus – Python + Pytest
1. Introduction
- What is API Automation Testing?
- Differences between Manual and Automated API Testing
- Why Automate API Testing?
- Overview of Python Libraries for API Testing:
2. Setting Up the API Automation Project
- Installing Required Packages
- Creating a Basic Project Structure
- Introduction to Sample APIs
- Writing the First GET API Test using requests
- Validating Status Code, Response Body, and Headers
3. Working with Parameters
- Sending Query Parameters in GET Requests
- Using Path Parameters in API URLs
- Passing Headers and Payload
- Using Environment Variables / Config Files for Dynamic Values
4. Validations in API Responses
- Validating:
- Status Codes
- Response Headers
- Response Body
- Extracting Values using:
- Dictionary Access
- jsonpath-ng or custom functions
- Response Assertions using assert and pytest
5. POST, PUT, PATCH, DELETE Requests
- Creating Payloads using Python Dictionaries / JSON Files
- POST Requests with Payloads
- PUT and PATCH Requests to Update Data
- DELETE Requests and Validating Responses
- Creating Reusable Utility Functions for API Calls
6. Authentication and Authorization
- Overview of Different Authentication Types:
- Basic Auth
- Bearer Tokens
- OAuth2 (basic concept only)
- Passing Auth Headers in Requests
7. Serialization and Deserialization
- Working with JSON Data in Requests and Responses
- Converting JSON Response to Python Object
- Serializing Python Object to JSON for Payloads
8. Pytest-based Automation Framework
- Building an API Test Framework using pytest
- Folder Structure:
- Creating Config Files for Environment Setup
- Grouping Tests
- Adding Reusable Fixtures
- Parametrizing Tests with Test Data
- Skipping, Failing, and Tagging Tests
9. Logging and Reporting
- Generating HTML Reports
- Capturing Request & Response Logs for Debugging
10. Running and Organizing Tests
- Organizing Tests into Modules and Packages
- Configurations
- Creating Custom CLI Commands for Execution
- Creating Test Suites using Markers / Categories
- Test Execution:
- Full suite run
- Module-specific run
- Test-specific run
Advanced Selenium with Python – Course Syllabus
1. File Handling & Data Management
- Handling CSV Files
- Handling JSON Files
- Handling .ini / .properties files
- Working with Excel Files
- Reading Test Data from Files
- Data-Driven Testing
2. Database Testing
- Introduction to DB Testing
- Connecting to Databases
- Validating UI data against DB
3. Reporting
- Using pytest-html for HTML Reports
- Using Allure Reports with Pytest
- Capturing and Embedding Screenshots in Reports
4. Logging and Event Handling
- Logging in Python using logging module
- Creating Log Files and Formatting Logs
5. Integration and Grid
- Selenium Grid:
- Setting up Selenium Grid with Hub and Nodes
- Cross-browser and Parallel Testing
- Sauce Labs / BrowserStack Integration
- Docker Integration for Selenium Tests
- Jenkins CI Integration:
6. Framework Design
- Designing a Robust Selenium Test Framework
- Using pytest
- Directory Structure: tests, pages, utils, data, etc.
- Implementing Page Object Model (POM)
- Data-Driven and Keyword-Driven Approach (Python-style)
- Hybrid Framework:
- Combination of POM + Data Driven + Utility Driven
- Adding Environment Support
- Test Reusability and Modularity
7. Live Project Implementation
- Implementing a full-fledged Web Automation Project
- Real-world scenarios
- Modularized Codebase
- Configurable Environment
- Integration with CI/CD (Jenkins/GitHub Actions)
- Reporting and Logging
- Clean-up and Maintenance Practices
8. Artificial Intelligence
- Introduction to AI
- AI v/s traditional System
- How to create our own AI tool
- How to create our own AI Agent
- Create AI chat bot
- Use AI in manual Testing
- Using AI in Test Automation
- AI integration in Selenium