Skip to content

SeleniumTestAB/bitpanda-tasks-solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bitpanda-tasks-solution

Technological stack and project structure

Project was created as multi module maven project

Each module corresponds to each specific task

UI-TASK MODULE

In this module are placed ui-tests that uses this stack:

  • Selenide
  • Allure
  • Assertj
  • TestNG
  • Faker

System under test link -> here

API-TASK MODULE

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

LOAD-TASK MODULE

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

Project CI/CD

This Project's CI/CD is made with Github Actions

How to run this project

  • 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.

Test Args/Variables

  • 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

How to get report from test runs

All the tests use Allure Framework as reporting tool.

Local report generation

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 generation via Github Actions

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.

EXAMPLE OF REPORT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published