Test Automation With Python, Selenium, Git, And Jenkins
Selenium is the leading test automation tool for web applications and is essential for implementing DevOps practices. With a growing demand for QA/testers who understand programming, the role of SDET (Software Development Engineer in Test) is highly sought after.
This Selenium course starts from the basics of core Python and progresses to advanced topics. Participants will learn about Git and GitHub for effective version control, as well as how to set up Jenkins for automated build, test, and deployment pipelines.
What You’ll Learn:
- Introduction to Python for beginners.
- Fundamentals of Selenium for web automation.
- Writing and executing automated tests using Selenium.
- Understanding Git and GitHub for version control.
- Creating and managing repositories on GitHub.
- Setting up Jenkins for continuous integration and deployment.
- Building automated build, test, and deployment pipelines.
Course Benefits:
- Master the essential skills for becoming an SDET.
- Gain practical experience in using Selenium for automated testing.
- Learn to manage code effectively with Git and GitHub.
- Understand DevOps principles through hands-on pipeline creation.
- Enhance your employability in the growing field of test automation.
Enroll in the Test Automation With Python, Selenium, Git, And Jenkins course and take your first step towards becoming a skilled SDET!
Enquire Now
Who can attend this course
Engineering Graduates
Working Professionals
(Manual Testers)
Developers
Courses Outline
Core Python
Selenium WebDriver
Test Automation Frameworks
BDD / Cucumber
Automation Basics
PyTest
Git/GitHub
Introduction to selenium
Design Frameworks
Jenkins
Why Niche Thyself
All our trainers are having minimum 10 years of experience in test automation.
Every session we conduct is a combination of theory and hands-on.
All sessions are recorded which participants can keep with them for life time.
Courses Benefits
Career opportunities: Python Selenium is a highly sought-after skill in the job market. By completing the course, you enhance your career prospects as a software tester or automation engineer, opening doors to exciting opportunities in the industry.
Practical hands-on experience: The course focuses on hands-on exercises and real-world examples, allowing you to gain practical experience in using Python Selenium for web test automation. This practical knowledge strengthens your understanding and prepares you for real-world testing challenges.
Lifetime access to course materials: Upon completion of the course, you receive lifetime access to the course materials, including recorded sessions, code samples, and supplementary resources. This provides a valuable reference that you can revisit at any time to reinforce your learning and stay updated in your test automation journey.
Comprehensive understanding: The Python Selenium course provides a comprehensive understanding of web test automation using the Selenium framework with Python. You will gain in-depth knowledge of Selenium’s features, functionalities, and best practices.
Versatile automation skills: Learning Python Selenium equips you with versatile automation skills applicable to a wide range of web applications and browsers. You will be able to automate repetitive tasks, perform functional testing, and validate web application behavior across different browsers and platforms.
Scalability and reliability: Python Selenium is capable of handling complex web applications and supports scaling test automation efforts. With its robustness and reliability, you can perform tests on large-scale projects, ensuring the application’s functionality and stability.
Continuous learning and community support: Python has a thriving community with abundant resources, tutorials, and forums. By learning Python Selenium, you join a supportive community of professionals, providing opportunities for continuous learning, knowledge sharing, and staying updated with the latest industry trends.
Demo Video
“Experience the future of learning: Watch our captivating demo video and embark on a transformative educational journey with our courses.”
Detail Course Content
Python - Introduction
Introduction
- Installation instructions
- Python Ecosystem
- The interactive shell
- PyCharm
- sample programs
Managing Data
- Strings
- Numbers
- Boolean
Operators
- Assignment
- Boolean
- Comparison
- Unary and bitwise
- String operators
- In operator
Conditional Statements
- If else
- While
- For
Python - Functions in Python
Functions in Python
-
Some sample functions
-
Importance of functions
-
Arguments to a function
-
*args,**kwargs
-
Function decorators
-
Lambdas
Data structures
-
Lists
-
Tuples
-
Dictionary
-
Sets
-
Looping through data structures
Python - Exception Handling
Exception Handling
-
Importance of writing good code with logging and exception handling
-
Raising exceptions
-
User-defined exceptions
-
Handling exceptions
-
Logging information for debugging purposes
Modules
-
What is a module?
-
Creating modules
-
Third-party modules
-
Installing third-party modules
-
Using multiple modules in your code
-
Design considerations
Python - Packages
Packages
- Design considerations
- Introduction to packages
- Different ways to group applications/modules into packages
- Introduction to OOP
- Constructors/initializers
- Objects
- Inner classes
- Interfaces
- Abstract classes
- Properties
- duck_typing
Selenium - Automation Basics
Automation Basics
- Fundamentals of test automation
- ROI in Automation
- Basics of automation framework
- Introduction to various tools and comparison with Selenium
- What is DevOps?
Introduction to Selenium
- What is Selenium and how it is used in the industry
- Features of Selenium
- Difference between Selenium and QTP
- Installation of Selenium and supporting tools/APIs
- Insight to HTML and web applications architecture
- Introduction to PyTest And PyCharm
- How Selenium helps achieve DevOps
Selenium - PyCharm IDE
- How to build a test project
- frequently use menu items
- Use of Settings
- Use of shortcuts and error correction
- Installation of other packages
- Other key features required to work with PyCharm for automation using Selenium
Selenium - WebDriver - Basics
- Introduction to WebDriver architecture
- WebDriver configuration with PyCharm
- Opening and closing the browser
- Introduction to PyTest
- Writing Simple Tests
- Chrome browser developer tools to locate elements
- Locating Techniques – with extensive practice on XPath and CSS selectors
Controlling Browsers
- Navigation
- Page Title, URL, and Page Source
- Cookie management
- Size and position
- Navigating to different windows, frames, and alerts
Controlling elements
- WebElement commands
- Handling textbox, links, buttons, dropdowns, multi-select, radiobuttons, and checkboxes
- Handling web tables
Browser Synchronization /Waits in Selenium
- time.sleep() – why should not be used
- Implicit Wait
- Explicit Wait
Complex Actions
- Mouse Hover
- Context/Right click
- Double Click
- Drag and Drop
- Building complex actions
Page Object Design Pattern (PODP)
- What is a design pattern
- Need for PODP – reusability and maintainability
- Test speaks only domain
PyTest Framework
- Introduction to PyTest Framework
- Installation of PyTest
- PyTest Fixtures
- Running Test Suite with PyTest
- Test Reports
- SRP Principle (Single Responsibility Principle)
- technique of naming
- FIRST Principle of writing test cases
- Verification and Assertion
- Groups and Parameters
- Parallel Execution (DevOps context)
Selenium Grid
- What and When of Grid
- What is Hub and Node
- Understanding Grid 4.0
- Designing test scripts for Grid
- DesiredCapabilities and RemoteWebDriver
- Creating a grid of 10-15 machines/VMs/containers
- Running test scripts on Grid (parallel execution on at least 10 to 15 machines during training)
Additional Topics on Test Automation Framework
- Build automation
- Logging
- Listeners
- BDD-Behave – Writing Selenium Tests
- Handling Browser Profiles
Git/GitHub
- Introduction to SCM
- Types of SCMs
- Creating repo(repositories)
- Adding files to the repo
- Branches and Best Practices
- Merging, Cloning, tagging
- Importance of .gitignore
- Working on Git Command Line
- GitHub account creation
- Uploading your project with GitHub using the command line and Eclipse
- Integration with Jenkins using GitHub Webhooks
Jenkins
- What is CI and CD
- Manage Configuration
- Setup Build Jobs
- Plugins
- Scheduling Builds (Push/Pull)
- Configuring a Jenkins Pipeline for test execution
BDD/Behave
- What is BDD/TDD
- BDD with Agile
- Feature File – Gherkin
- Step Definitions
- Writing Tests
- Executing tests using Behave
Creating Test Automation Framework
- What is the Test Automation Framework
- Why we should care
How to create a robust automation Framework
- Re-usability and maintainability are the key focus area
- Configurability
- Effective Usage of Design Patterns
- Test Data Management
- Exception Handling
- Debugging using Logs and Listeners
- Effective exception handling
- Principles of writing clean code
- Reporting Frameworks
- Integration with CI tools like Jenkins
- Use of version control
- Support for parallel execution – on-premise/cloud
Test Automation Project
- Automate an e-commerce application
- Make decisions on frameworks based on requirements
- Design Test Data Management Strategy
- Design logging and listening strategy
- Design exception handling and reporting
- Design page objects for the store and admin panel
- Write tests and execute them using PyTest
- Make scripts accept run-time parameters instead of hardcoding
- Create a utility package to re-use (modular framework)
- Allure Reporting Framework
- Integrate with Jenkins and GitHub
Post Training Association
- Typical Interview Questions
- Resume Preparation
- Mock Interview – only on request
- Providing interview calls with companies
- Regular communication on WhatsApp group regarding selenium webinars, conferences, and job openings