Js Testing Academy Internal Framework Structure

├── src
│ ├── main
│ │ ├── java
│ │ │ ├── base
│ │ │ │ ├── BaseTest.java // Initializes WebDriver/Appium Driver
│ │ │ │ ├── BaseAPI.java // Setup for Rest Assured
│ │ │ ├── config
│ │ │ │ ├── ConfigReader.java // Reads from config.properties
│ │ │ ├── drivers
│ │ │ │ ├── WebDriverManager.java // Handles Selenium/Appium Drivers
│ │ │ ├── utils
│ │ │ │ ├── TestUtils.java // Generic helper methods
│ │ │ │ ├── APIUtils.java // Reusable API methods (Rest Assured)
│ │ │ │ ├── MobileUtils.java // Mobile-specific helper methods
│ │ │ ├── pages
│ │ │ │ ├── LoginPage.java // Page Object for Login (Web)
│ │ │ │ ├── HomePage.java // Page Object for Home (Web)
│ │ │ │ ├── MobileLoginPage.java // Page Object for Mobile App (Appium)
│ │ │ ├── api
│ │ │ │ ├── UserAPI.java // API methods (GET, POST, etc.)
│ │ │ │ ├── AuthAPI.java // API Authentication
│ ├── test
│ │ ├── java
│ │ │ ├── stepdefinitions
│ │ │ │ ├── LoginSteps.java // Step Definitions for Login
│ │ │ │ ├── APITestSteps.java // Step Definitions for API testing
│ │ │ │ ├── MobileSteps.java // Step Definitions for Mobile Testing
│ │ │ ├── runners
│ │ │ │ ├── TestRunner.java // Cucumber Runner Class
│ │ │ ├── hooks
│ │ │ │ ├── Hooks.java // Before and After Hooks
│ ├── resources
│ │ ├── features
│ │ │ ├── login.feature // Login Test Scenarios
│ │ │ ├── api.feature // API Test Scenarios
│ │ │ ├── mobile.feature // Mobile Test Scenarios
│ │ ├── testdata
│ │ │ ├── testdata.json // Test Data
│ │ ├── config.properties // Configuration File
├── reports
├── logs
├── pom.xml // For Maven dependencies
├── build.gradle // For Gradle dependencies