Project was created as multi module maven project
Each module corresponds to each specific task
In this module are placed ui-tests that uses this stack:
- Selenide
- Allure
- Assertj
- TestNG
- Faker
System under test link -> here
In this module are placed api-tests that uses this stack:
- Restassured
- Allure
- Assertj
- TestNG
Also postman collection can be found in src/main/resources/postman path
System under test link -> here
In this module are placed load-tests that uses this stack:
- Junit5/4
- Allure
- Zerocode
Also Jmeter jmx file can be found in src/test/resources/jmeter path
System under test link -> here
This Project's CI/CD is made with Github Actions
- You can either fork this project and run your Github Actions or create pull request to trigger actions here
- You can pull project and run it locally with command "mvn clean test", however you need to provide specific variables. Please that you must have java 11 installed and Maven configured in order to run this project locally.
- API_USER - user for api tests to authenticate. In CI/CD this variables needs to be set as secret in repository
- API_PASSWORD - password to authenticate to API to acquire token. In CI/CD this variables needs to be set as secret in repository
- isHEADLESS - to set UI tests in headless or no-headless mode
All the tests use Allure Framework as reporting tool.
In order to generate report with it, one must first download and setup allure commandline. Information to how setup this commandline can be found on Allure's official documentation here in section Installing a commandline under 2.1.4. Manual installation.
Once it is setup up, one does need to be in project directory and run command
$ allure serve [results_location]
for example
$ allure serve ui-task/target/allure-results
All results are placed in target folder in each module
Report is automatically generated and published to Github Pages. In order to use that flow in your fork you need to do couple of things:
- Create gh-pages branch in your repo/fork
- Generate personal access token for your github repo (you can find how to do it here). Permissions should be set like described here
- Set newly generated token as Github Secret with name "SECRET_ACCESS_TOKEN" (unless you change it in your fork)
After setting up the necessary things, run the tests and the newly generated report should be visible in "Deployments/Activity log" as new Github Pages deployment. In order to view the report, one simply needs to click on the "View deployment" button.