Skip to content

avighub/test-automation-java-restassured-selenide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WEB UI Test Automation Framework

stars - test-automation-java-restassured-selenide forks - test-automation-java-restassured-selenide License issues - test-automation-java-restassured-selenide
View site - GH Pages GitHub Actions Workflow Status

Tech Stack

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

Framework features

  • 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

How to setup ?

  1. Clone repository: git@github.com:avighub/test-automation-java-restassured-selenide.git
  2. 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
  3. Run Unit Tests to ensure a sanity check passes: mvn clean test -Dgroups={"UnitTest"}

Best practices to write Tests

  • 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 or mvn clean test -Dgroups={"login","inventory"}

References

  • TBD

Credits

  • Inspired and Thankful to amazing friends/colleagues/mentors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages