Cucumber 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/resources - cucumber
5. Common methods for all test cases to reduce code redundancy
src/test/java/base
src/test/java/steps
src/test/java/hooks
src/test/java/runner
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