How sivaprkolli/sdet_fast_track_training works
Purpose and Entry Points
This is a Maven-based Java learning and automation repository: Java language examples in src/main/java and executable Selenium, API, TestNG, and design-pattern demonstrations in src/test/java. Primary execution entry points are Maven (pom.xml) and TestNG suite descriptors such as testNGSuites/sampleTestNG.xml and testNGSuites/grid.xml.
Java Fundamentals and Data Exercises
The main source tree is organized as independent instructional modules rather than a single production application. Core topics include OO abstractions, inheritance/polymorphism, collections, exceptions, threading, serialization, and algorithm exercises.
• src/main/java/org/sft/abstraction/AutomationTest.java
• src/main/java/org/sft/collectionsFramework/CollectionFramework.java
• src/main/java/org/sft/programs/FindMissingNumberInArray.java
Browser Automation Layer
Selenium tests drive browser behavior and demonstrate browser interactions, synchronization, JavaScript execution, tabs/frames, screenshots, and Selenium 4 capabilities. Test classes are direct consumers of WebDriver and target external web pages; there is no identified application-under-test source in this repository.
• src/test/java/org/sft/SeleniumExamples/FirstTest.java
• src/test/java/org/sft/SeleniumExamples/BaseSFT.java
• src/test/java/org/sft/Selenium4Features/CDPTest.java
Driver Lifecycle and Deployment Variants
Several packages model WebDriver construction and ownership using singleton, factory, and manager patterns. These form a boundary between tests and browser-specific drivers, enabling Chrome/Firefox selection and examples of local, grid, Docker, and BrowserStack execution.
• src/test/java/org/sft/designPatterns/DriverManager.java
• src/test/java/org/sft/factoryDesignPattern/WebDriverFactory.java
• src/test/java/org/sft/singleDesignPatterns/SeleniumDriver.java
Remote execution infrastructure is represented by the bundled Selenium server artifact and dedicated grid/container tests:
• src/test/resources/selenium-server.jar
• src/test/java/org/sft/SeleniumExamples/ParallelGridTest.java
• src/test/java/org/sft/SeleniumExamples/BrowserStackTest.java
TestNG Orchestration and Reliability
TestNG controls lifecycle, assertions, data providers, dependencies, grouping, parallel execution, and retry behavior. XML suites are the main control boundary for selecting and scheduling test classes; thread-local examples support isolated drivers during concurrent runs.
• src/test/java/org/sft/testNG/SampleBase.java
• src/test/java/org/sft/testNG/MyRetryAnalyzer.java
• testNGSuites/parallel.xml
UI Framework and Page Boundaries
A small TestNG UI framework separates setup/teardown, reusable browser actions, page representations, and login test flow. PageFactory and non-PageFactory implementations allow comparison of locator binding approaches.
• src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/BaseSFT.java
• src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/CommonActions.java
• src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/LoginPageUsingPageFactory.java
API and File-Based Data Flows
API examples issue GET/POST requests, construct or inspect JSON payloads, and validate response content. Test data is read from JSON, text, and Excel files, while Postman collections provide a separate manual/API-client interface.
• src/test/java/org/sft/APIExamples/GetRequestSample.java
• src/test/java/org/sft/APIExamples/PostRequestUsingDataFromFile.java
• testData/userData.json
• postman_collections/SDET_API_postman_collection
Components 22
Java Learning Modules
Independent language and algorithm examples.
- OO abstraction example
src/main/java/org/sft/abstraction/AutomationTest.java - Collections example
src/main/java/org/sft/collectionsFramework/CollectionFramework.java - Array algorithm
src/main/java/org/sft/programs/FindMissingNumberInArray.java
Browser Automation
Selenium tests and reusable UI framework.
- Selenium examples · Direct browser interaction demonstrations.
src/test/java/org/sft/SeleniumExamples/FirstTest.java - Selenium base · Shared Selenium setup example.
src/test/java/org/sft/SeleniumExamples/BaseSFT.java - Selenium 4 CDP test
src/test/java/org/sft/Selenium4Features/CDPTest.java - UI framework base · Owns setup and teardown for UI tests.
src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/BaseSFT.java - Common browser actions
src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/CommonActions.java - Login page object
src/test/java/org/sft/SimpleFrameworkDevelopementUsingTestNG/LoginPageUsingPageFactory.java
Test Execution
TestNG scheduling and driver deployment variants.
- Driver manager · Manages WebDriver ownership.
src/test/java/org/sft/designPatterns/DriverManager.java - WebDriver factory · Selects browser-specific drivers.
src/test/java/org/sft/factoryDesignPattern/WebDriverFactory.java - Selenium driver singleton
src/test/java/org/sft/singleDesignPatterns/SeleniumDriver.java - TestNG base and lifecycle
src/test/java/org/sft/testNG/SampleBase.java - Retry analyzer
src/test/java/org/sft/testNG/MyRetryAnalyzer.java - Parallel TestNG suite · Selects and schedules concurrent tests.
testNGSuites/parallel.xml - Grid and cloud tests · Exercises Selenium Grid and BrowserStack execution.
src/test/java/org/sft/SeleniumExamples/ParallelGridTest.java - Selenium server · Bundled remote execution server.
src/test/resources/selenium-server.jar
API and Test Data
HTTP examples and file-based payloads.
- API GET example
src/test/java/org/sft/APIExamples/GetRequestSample.java - API POST from file · Builds requests using file data.
src/test/java/org/sft/APIExamples/PostRequestUsingDataFromFile.java - User JSON data
testData/userData.json - Postman API collection
postman_collections/SDET_API_postman_collection
Other components
- Maven build · Builds and runs the Java examples and tests.
pom.xml
Connections 19
- Maven build → OO abstraction example: builds
- Maven build → Collections example: builds
- Maven build → Array algorithm: builds
- Maven build → Parallel TestNG suite: runs suites
- Parallel TestNG suite → TestNG base and lifecycle: schedules
- TestNG base and lifecycle → Retry analyzer: uses
- Selenium examples → Selenium base: uses setup
- Selenium examples → Driver manager: obtains driver
- Selenium 4 CDP test → Driver manager: obtains driver
- UI framework base → WebDriver factory: creates driver
- Common browser actions → UI framework base: uses lifecycle
- Login page object → Common browser actions: uses actions
- Driver manager → WebDriver factory: delegates creation
- Selenium driver singleton → WebDriver factory: owns driver
- Grid and cloud tests → Selenium server: runs remotely on
- Grid and cloud tests → WebDriver factory: creates remote driver
- API POST from file → User JSON data: reads payload
- Postman API collection → API GET example: mirrors API flow
- Postman API collection → API POST from file: mirrors API flow