Selenium Automation Project Cheatsheet

1. Create a Maven project - A folder structure is already created

2. pom.xml - Add basic dependencies: selenium, java, testng, cucumber, json, apache poi

3. testng.xml - Manage the execution of test cases. Create test suites, create groups, specify whether the execution should be parallel

4. Start writing Test Cases
src/test/java/tests - selenium

5. Common methods for all test cases to reduce code redundancy
src/test/java/base
Create driver instance, setup driver specifications
Write before and after methods
Create listeners
Reporting functions

6. Project specific configs
src/test/resources
- URL for different environments
- test users
- environment configs
- feature configs

7. Execution configs
src/test/resources
- browser
- browser version
- other browser specifications
- wait
- driver path
- test data paths

8. Start writing the code
src/main/java
src/main/java/pages - Page Object Classes (webelements, operations: sendKeys, click, getText, select)
src/main/java/wrapper - Abstract pages, child classes
src/main/java/managers - PageObjectManager (create instance of each Page Object Class)
src/main/java/managers - FileManager (initialize all test data files: json, excel, properties)
src/main/java/utilities - Browser, DataBase, Excel, Json, Gmail, Kafka, AWS
src/main/java/enums - enums
src/main/java/pojo - pojo

9. Application based test data - translations, labels, button texts, UI error messages, API status codes, API error codes, API error messages
src/main/resources

10. Reports
- html
- testng
- screenshots
- allure