- Clone this repository
- Configure the test classes that needs to be run in the 'Testng.xml' file under the 'classes' section
- Check whether the urls mentioned in the 'routes.properties' file in the 'src/test/resources' folder
- Make sure this 'testng/xml' file is mentioned under 'suiteXmlFiles' section in the 'pom/xml' file
- From the terminal, from the porject root directory, run this command - "mvn clean test"
- The test logs are saved in the 'logs' folder (The log level is set to 'INFO'; if more logs are required, make sure to change it in the 'log4j2.xml' file in the 'src/test/resources' folder)
- The test run reports are saved in the 'reports' folder.
- Re-usability
- Maintainability
- Readability
- Understand the requirement
- Functional Specifications (usability)
- Swagger link (api documentation)
- Choose the right automation tool
- Eg: RestAssured library
- Design the framework
- Folder structure
- Files required
- Test cases to be automated
- Development
- Implementation of the design
- Approval from stakeholders (PO or Dev Team)
- Creation of local and remote git repositories
- Execution / CI
- Frequency of test runs
- Pipeline configurations
- Endpoints - where the urls, path params and query params are stored
- Test Cases - where the test cases are configured
- Testng.xml - where we configure the test run models
- pom.xml - where we configure the dependencies and execution
- Payloads - where the getters and setters are stored (pojo classes)
- Utilities - where the utility files that are required like data providers, extent report, XL Utility are stored
- Test data - where the pre-configured test data is stored in excel, txt or json format
- Reports - where the TestNG reports or Extent reports are stored