Learn Selenium with Python using real-world websites!
Practice, contribute, and master browser automation with hands-on examples.
Linked with Next-Gen AI Blog and Automation_Selenium_Python.
- Real Selenium Projects: Practice automation on actual websites.
- Beginner to Advanced: Structured examples for all skill levels.
- Open Source & Community Driven: Contribute, suggest, and collaborate.
- Linked Tutorials: Step-by-step guides on My Blog.
- SEO Keywords: Selenium, Python, Automation, Testing, Open Source, Practice, Tutorial.
Selenium-Automation-Practice/
βββ README.md # Documentation
βββ requirements.txt # Dependencies
βββ .gitignore # Ignore unnecessary files
βββ CONTRIBUTING.md # How to contribute
β
βββ basics/ # Beginner level tests
β βββ test_open_browser.py
β βββ test_navigation.py
β βββ test_locators.py
β
βββ intermediate/ # Intermediate level tests
β βββ test_forms.py
β βββ test_login.py
β βββ test_dropdowns.py
β
βββ advanced/ # Advanced level tests
β βββ test_waits.py
β βββ test_iframes.py
β βββ test_file_upload.py
β
βββ resources/ # Extra resources
βββ testing_sites.md
βββ sample_data.json
Click Fork (top right) to create your copy.
Then clone:
git clone https://github.com/YOUR_USERNAME/Selenium-Automation-Practice.git
cd Selenium-Automation-PracticePython 3.8+ required.
pip install -r requirements.txtMain Packages:
seleniumβ Browser automationpytestβ Testing frameworkpytest-htmlβ HTML test reports
pytest basics/test_open_browser.py --html=report.htmlOpen report.html in your browser to view results.
- Herokuapp β Elements, Alerts, Login
- OrangeHRM Demo β HRM workflows
- FormSite Demo β Forms & inputs
- SauceDemo β E-commerce flows
- jQueryUI β Drag & drop, sliders
- Google β Search automation
- Playwright β Compare Selenium vs Playwright
- My Blog β Tutorials & exercises
# basics/test_open_browser.py
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
def test_open_google():
driver = webdriver.Chrome()
driver.get("https://www.google.co.in/")
assert "Google" in driver.title
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium automation python")
time.sleep(2)
driver.quit()- Basics: Browser, Locators β
basics/ - Intermediate: Forms, Login β
intermediate/ - Advanced: Waits, iFrames, Uploads β
advanced/ - Tutorials: Next-Gen AI Blog
We β€οΈ contributions!
- Fork the repo
- Create a branch:
feature-your-feature - Add your test in the right folder
- Run & verify with pytest
- Commit & push:
git add . git commit -m "Added new test case for dropdown" git push origin feature-your-feature
- Open a Pull Request
See CONTRIBUTING.md for details.
Generate an HTML report:
pytest --html=report.htmlOpen report.html in your browser.
MIT License β Free to use, modify, and distribute with attribution.
- Maintainer: Shivam Kumar Dubey
- Blog & Tutorials: Next-Gen AI
- Related Repo: Automation_Selenium_Python
If you find this project helpful, star the repo and share with others!
Help us grow the Selenium automation community π
selenium
python
automation
testing
pytest
open-source
practice
tutorial
webdriver
qa
Boost your skills. Contribute. Star. Share.
Happy Testing!