@@ -13,11 +13,20 @@ Scalability: Easy to extend with more browsers, APIs, or mobile emulation.
1313
1414
1515## Tech Stack
16- Languages/Tools: Python 3.9+, Selenium WebDriver, Pytest, WebDriver Manager.
17- Reporting: Pytest-HTML (basic logs) + Allure (interactive dashboards with steps, timelines, and screenshots).
18- Design Pattern: Page Object Model (POM) for clean separation of locators, actions, and config.
19- CI/CD: GitHub Actions for automated runs on push/PR, with report artifacts.
20- Other: Data-driven testing via @pytest .mark.parametrize, explicit waits for stability.
16+ ## Languages/Tools:
17+ - Python 3.9+
18+ - Selenium WebDriver
19+ - Pytest
20+ - WebDriver Manager
21+ ## Reporting:
22+ - Pytest-HTML (basic logs)
23+ - Allure (interactive dashboards with steps, timelines, and screenshots).
24+ ## Design Pattern:
25+ -Page Object Model (POM) for clean separation of locators, actions, and config.
26+ ## CI/CD:
27+ -GitHub Actions for automated runs on push/PR, with report artifacts.
28+ ## Other:
29+ - Data-driven testing via @pytest .mark.parametrize, explicit waits for stability.
2130
2231automated-testing-project/
2332├── config/
@@ -40,28 +49,40 @@ automated-testing-project/
4049├── requirements.txt # Dependencies (selenium, pytest, allure-pytest, etc.)
4150├── .github/workflows/ci.yml # GitHub Actions for CI/CD
4251└── README.md # You're reading it!
43- Quick StartClone the Repo:
4452
45- git clone https://github.com/your-username/automated-testing-project.git
46- cd automated-testing-project
53+ ## Quick StartClone the Repo:
4754
48- Install Dependencies:
55+ - git clone https://github.com/your-username/automated-testing-project.git
56+ - cd automated-testing-project
57+ - Install Dependencies:
58+ - pip install -r requirements.txt
59+ - Run Tests: All tests: pytest tests/ -v
60+ - With HTML report: pytest tests/ --html=reports/report.html --self-contained-html -v
61+ - With Allure: pytest tests/ --alluredir=allure-results -v then allure serve allure-results
62+ ## Specific test:
63+ - pytest tests/test_cart.py::test_full_e2e_checkout -v
64+ - Cross-browser (if marked): pytest -m cross_browser -v
4965
50- pip install -r requirements.txt
51-
52- Run Tests: All tests: pytest tests/ -v
53- With HTML report: pytest tests/ --html=reports/report.html --self-contained-html -v
54- With Allure: pytest tests/ --alluredir=allure-results -v then allure serve allure-results
55- Specific test: pytest tests/test_cart.py::test_full_e2e_checkout -v
56- Cross-browser (if marked): pytest -m cross_browser -v
57-
58- View Reports:HTML: Open reports/report.html in your browser for logs and pass/fail summaries.
59- HTML Report Example
60- Allure: Run allure serve allure-results for an interactive dashboard (timelines, steps, attachments). Example screenshot:
61- Allure Dashboard
62- Tests CoveredLogin (test_login.py): Successful login, locked-out user, invalid credentials, empty username (4 tests).
63- Inventory (test_inventory.py): Add single product to cart, multi-add products, sort by price (lo-hi/hi-lo), validate prices (4 tests).
64- Cart & E2E (test_cart.py): Verify cart items/badge, remove single/all items, start checkout, full E2E checkout (parametrized with user data) (4+ tests).
66+ ## View Reports:
67+ :HTML: Open reports/report.html in your browser for logs and pass/fail summaries.
68+ - HTML Report Example
69+ - Allure: Run allure serve allure-results for an interactive dashboard (timelines, steps, attachments). Example screenshot:
70+ - Allure Dashboard
71+ ## Tests CoveredLogin (test_login.py):
72+ - Successful login
73+ - Locked-out user
74+ - Invalid credentials
75+ - Empty username (4 tests).
76+ ## Inventory (test_inventory.py):
77+ - Add single product to cart
78+ - Multi-add products
79+ - Sort by price (lo-hi/hi-lo)
80+ - Validate prices (4 tests).
81+ ## Cart & E2E (test_cart.py):
82+ - Verify cart items/badge
83+ - Remove single/all items
84+ - Start checkout
85+ - Full E2E checkout (parametrized with user data) (4+ tests).
6586
6687All tests include asserts for URLs, elements, text, and edge cases. Data-driven for efficiency (e.g., multiple products/usernames).
6788
0 commit comments