Selenium With Python
Description
Selenium Test Automation using Python
Introduction to Python
Setup And Configuration
- Python Installation – Windows
- Configuration Of Python – Windows
- Package Management Using PIP
Understanding Variables And Data Type
- Python Terminal Walkthrough
- Understanding Objects And References
- Variables Rules
- Numbers Data Type And Math Operations
- Numbers – Exponentiation And Modulo
- Arithmetic Order Of Precedence
- Boolean Data Type
- Working With Strings
- String Methods
- More String Slicing And Indexing
- Strings Formatting
Advanced Data Types
- List And Accessing The Elements
- List Methods
- Working With Dictionary
- Nested Dictionary
- Dictionary Methods
- Working With Tuple
Comparison And Boolean Operators
- Working With Comparators
- Understanding Boolean Operators
- Boolean Operators – Order Of Precedence
Program Control Flow
- Conditional Logic – If Else Conditions
- While Loop Demo
- Break Continue And While/Else
- For Loop Demo
- Iterating Multiple Lists – Using the Zip Function
- Using Range Function In For Loop
Functions/Methods – Working With Reusable Code
- Understanding Methods
- Working With Return Values
- Working With Positional / Optional Parameters
- Understanding Variable Scope
- More Built-In Functions
Classes – Object Oriented Programming
- Understanding Objects / Classes
- Create Your Own Object
- Create Your Own Methods
- Inheritance
Exception Handling
- Exception Handling Demo
- Finally And Else Block
Modules:
- Builtin Modules
- Create Your Own Modules
Working With Files
- How To Write Data To A File
- How To Read A File
- File Handling Using “With” And “As” Keywords
How To Inspect Elements Different Browsers – Add-Ons
- Introduction
- How To Inspect Elements Using Firefox DevTools
- Firefox Add-On – Try XPath
- How To Inspect Elements Using Chrome DevTools
- Chrome Extension
- Tricks To Generate XPath
Selenium WebDriver -> Setup And Installation
- Selenium WebDriver Installation
- How To Install Selenium Plugin To PyCharm and Eclipse
Selenium WebDriver -> Running Tests On Various Browsers
- Running Tests On Firefox
- Running Tests On Google Chrome – Windows
- Requirements To Run Tests On IE
- Running Tests On Internet Explorer
- How To Set Drivers In System Path – Windows
Selenium WebDriver -> Finding Elements
- Understanding Elements And DOM
- Find Element By Id And Name
- Understanding Dynamic Ids And Selenium Exception
- Find Element By XPath And CSS Selectors
- Find Element By Link Text
- Find Element By Class Name And Tag Name
- Understanding “By” Class
- How To Find List Of Elements
CSS Selectors – Advanced Locators
- Using Ids With CSS Selectors To Find Elements
- How To Use Multiple CSS Classes To Find Elements
- Using Wildcards With CSS Selectors
- How To Find Child Nodes Using CSS Selectors
Xpath – Advanced Locators
- Difference Between Absolute And Relative Xpath
- How to Build An Effective Xpath
- Using Text To Build An Effective Xpath
- Build Xpath Using Contains Keyword
- Build Xpath Using Starts-With Keyword
- How To Find Parent and Sibling Nodes
Selenium WebDriver -> Working With Web Elements
- Browser Interactions Introduction
- Browser Interaction
- How To Click And Type On A Web Element
- How To Find The State Of A Web Element (Disabled And Enabled Elements)
- Radio Buttons And Checkboxes
- Working With Elements List
- Understanding Dropdown Elements
- Working With A Dropdown Element
- How To Work With Hidden Elements
- Working With Hidden Elements – Practical Example
Selenium WebDriver -> Useful Methods And Properties
- How To Get The Text On Element
- How To Get Value Of Element Attribute
- Generic Method To Find Elements
- How To Check If Element Is Present
- How To Build Dynamic XPath
Selenium WebDriver -> Wait Types
- Implicit Wait Vs Explicit Wait
- Implicit Wait
- Explicit Wait
- Generic Method To Work With Explicit Wait
Selenium WebDriver -> Advanced
- Calendar Selection Introduction
- Calendar Selection
- AutoComplete Introduction
- AutoComplete
- How To Take Screenshots
- Generic Method To Take Screenshots
- Executing JavaScript Commands
- How To Find Size Of The Window
- How To Scroll Element Into View
Selenium WebDriver -> Switch Window And IFrames
- How To Switch Window Focus
- Switch To Window
- How To Work With IFrames
- Switch To IFrame
- Handling JavaScript Popup
Selenium WebDriver -> Working With Actions Class
- Mouse Hover Actions
- How To Drag And Drop Element On A Web Page
- Working With Sliders Actions
Logging Infrastructure
- Introduction To Logging Infrastructure
- Changing The Format Of Logs
- Logger – Console Example
- Logger – Configuration File Example
- How To Write A Generic Custom Logger Utility
Unit test Infrastructure
- Writing First Test Case
- How To Implement Class Level SetUp And TearDown Methods
- How To Assert A Test Method
- Important Note For Next Lectures – Windows
- How To Run Code From Terminal
- How To Create A Test Suite
Pytest -> Advanced Testing Framework
- Pytest Installation And First Script
- Pytest Naming Conventions
- How To Work With PyTest Fixtures
- Pytest Fixture Update
- Multiple Ways To Run Test Cases
- Conftest -> Common Fixtures To Multiple Modules
- How To Maintain Run Order Of Tests
- Running Tests Based On Command Line Arguments
- Structure Tests In A Test Class
- How To Return A Value From Fixtures
- Install PyTest HTML Plugin
- How To Generate HTML Test Report
Automation Framework – Part 1
- Automation Framework Introduction
- Understanding Framework Structure
- Test Scenario Without Framework
- Convert Test Case To Page Object Model Framework
- Refactor Your Page Object Class – Part 1
- Build Your Custom Selenium Driver Class
- Refactor Your Page Object Class – Part 2
Automation Framework – Part 2
- Add Logging To Automation Framework
- How To Verify Test Case Result
- Complete Login Page Test Cases
- Create Conftest To Implement Common Setup Methods
Automation Framework – Part 3
- How To Assert Without Stopping Test Execution
- Implement Screenshots In A Framework
- Taking Screenshots On Test Failure
- BasePage And Util Concept Introduction
- Inheriting BasePage Class
Data Driven Testing
- Setup And Configuration
- Data Driven Testing
- Utility To Read CSV Data
- Multiple Data Sets Test Case
Running Complete Test Suite
- How To Manage Navigation In Framework
- Refactor Login Tests
- How To Run A Test Suite
- Running Test Suite On Chrome