Careeroza
Framework Folder Structure
What a Framework Is
A test automation framework is the set of folders, base classes, utilities and conventions that every test uses. A new team member should be able to write a test in an hour without asking where the driver is created or how screenshots are taken.
shopease-ui-tests/
├── pom.xml dependencies + surefire plugin
├── testng.xml suites: smoke, regression
└── src/
├── main/java/com/shopease/
│ ├── pages/ LoginPage, SearchPage, CartPage, CheckoutPage
│ ├── components/ HeaderComponent, ProductCard
│ ├── driver/ DriverFactory (ThreadLocal), BrowserType
│ ├── config/ ConfigReader
│ └── utils/ WaitUtils, ScreenshotUtils, TestDataUtils
└── test/
├── java/com/shopease/
│ ├── base/ BaseTest (setup / teardown)
│ ├── listeners/ TestListener, RetryAnalyzer, RetryTransformer
│ └── tests/ LoginTest, SearchTest, CartTest, CheckoutTest
└── resources/
├── config/qa.properties, staging.properties
├── testdata/users.csv, products.xlsx
└── log4j2.xmlCommon Framework Types
| Type | Idea | Used when |
|---|---|---|
| Data-driven | same test, many data rows (DataProvider, Excel) | login/registration with many inputs |
| Keyword-driven | steps written as keywords in Excel (click | #login-btn) | manual testers write tests without code |
| BDD | Gherkin feature files + step definitions (Cucumber) | business people read the scenarios |
| Hybrid | POM + data-driven + some BDD | most company frameworks |
Tip: In interviews, describe your framework in this order: language and tools → folder structure → driver handling → test data → reporting → CI.