How andrewvimal11/selenium-testng-framework works
This repository is a Java UI/API test-automation framework for Sauce Demo and Restful Booker. Its principal workflows are UI scenarios implemented with page objects and API scenarios routed through a booking client; TestNG runs the tests, and reporting captures results and failure screenshots. The README documents these responsibilities and relationships, but no source excerpts were provided, so implementation-level calls and configuration wiring cannot be verified; uncertain relationships are omitted or marked dashed.
Main entry points: InventoryTest.java Inventory tests · LoginTest.java Login tests · CheckoutTest.java Checkout tests · BookingClient.java Booking client
Components 20
Test execution
- Login tests
src/test/java/com/andrewvimal/tests/ui/LoginTest.java - Inventory tests
src/test/java/com/andrewvimal/tests/ui/InventoryTest.java - Checkout tests
src/test/java/com/andrewvimal/tests/ui/CheckoutTest.java - Booking API tests
src/test/java/com/andrewvimal/tests/api/BookingApiTest.java - TestNG runner
UI automation
- Login page
src/test/java/com/andrewvimal/framework/pages/LoginPage.java - Inventory page
src/test/java/com/andrewvimal/framework/pages/InventoryPage.java - Cart page
src/test/java/com/andrewvimal/framework/pages/CartPage.java - Checkout page
src/test/java/com/andrewvimal/framework/pages/CheckoutPage.java - Page waits
src/test/java/com/andrewvimal/framework/pages/BasePage.java
API automation
- Booking client
src/test/java/com/andrewvimal/framework/api/BookingClient.java - Booking models
src/test/java/com/andrewvimal/framework/api/models/Booking.java - Booking date model
src/test/java/com/andrewvimal/framework/api/models/BookingDates.java
Framework support
- Config reader
src/test/java/com/andrewvimal/framework/config/ConfigReader.java - Driver factory
src/test/java/com/andrewvimal/framework/driver/DriverFactory.java - Report manager
src/test/java/com/andrewvimal/framework/reporting/ExtentManager.java - Test listener
src/test/java/com/andrewvimal/framework/reporting/TestListener.java
Other components
- QA engineer
- Sauce Demo
- Restful Booker
Connections 25
- QA engineer → TestNG runner: runs suites
README.md - TestNG runner → Login tests: runs
README.md - TestNG runner → Inventory tests: runs
README.md - TestNG runner → Checkout tests: runs
README.md - TestNG runner → Booking API tests: runs
README.md - Login tests → Login page: uses page object
README.md - Inventory tests → Inventory page: uses page object
README.md - Inventory tests → Cart page: tests cart
README.md - Checkout tests → Checkout page: uses page object
README.md - Login page → Page waits: uses waits
README.md - Inventory page → Page waits: uses waits
README.md - Cart page → Page waits: uses waits
README.md - Checkout page → Page waits: uses waits
README.md - Login tests → Sauce Demo: tests UI
README.md - Inventory tests → Sauce Demo: tests UI
README.md - Checkout tests → Sauce Demo: tests UI
README.md - Booking API tests → Booking client: uses client
README.md - Booking client → Restful Booker: sends API requests
README.md - Booking client → Booking models: uses models
- Booking client → Booking date model: uses dates
- Login tests → Driver factory: uses browser
- Inventory tests → Driver factory: uses browser
- Checkout tests → Driver factory: uses browser
- Driver factory → Config reader: reads settings
- Test listener → Report manager: records results