Programming Language | Java |
Build and Library management | Maven |
WEB automation Library | Selenium , Selenide |
Assertion Library | AssertJ |
Test runner Library | Junit5 |
CI/CD | Github Actions |
Optimize boilerplate code | Lombok |
Async library | Awaitility |
Serialization and Deserialization library | Jackson |
Custom exception handler | NoException |
Secret manager | git-crypt |
Test data generator | javafaker |
Configuration manager | owner |
- Automate Web UI actions in various browsers like chrome,edge, firefox, safari
- Supports multiple test environments like dev, test, stage
- Easily manage configurations for webdriver, browser, environment variables
- Supports parallel execution of tests
- Generates logs and html report
- Integrate with Ci/CD like jenkins/Github actions
- Secrete management
- Automatic Code formatting
- Page object model for easier management of pages and test
- Clone repository:
git@github.com:avighub/test-automation-java-restassured-selenide.git
- Unlock Secret:
- git-crypt is used to manage secrets in this framework
- It needs a secret file to unlock the encrypted files such as properties files that contains credentials and urls of the application
- In general this secrete file should be kept in a secured vault (Not exposed to public) within organization.
- However since this framework is meant to be publicly accessed, I have added the secret key to a publicly accessible storage so that anyone wants to use this framework may use it for playing around
- Download the secret file from here
- Once downloaded, put that file in root directory of the project
- Install git-crypt in your system , follow the doc here
- Once done,
run git-crypt unlock git-crypt-secret-public
- Now you should be able to see configurations file (properties files) contents
- Run Unit Tests to ensure a sanity check passes:
mvn clean test -Dgroups={"UnitTest"}
- Follow naming convention for test
- Should {do something} if {given a state or performed an action}
- Use TODO with comment if you have anything pending to do in a later stage
- Make sure to add annotation to each test or test class based on their category
- Example:
- Login feature tests , we can mark class with @LoginTest
- If it is specific to a test we can mark annotation to individual test too
- To run via commandline
mvn clean test -Dgroups=login
ormvn clean test -Dgroups={"login","inventory"}
- Example:
- TBD
- Inspired and Thankful to amazing friends/colleagues/mentors
- Testing Mini Bytes Youtube channel ( Amuthan Saktivel )
- Power Tester Youtube channel ( Pramod Yadav )