kafka-ui/kafka-ui-e2e-checks/README.md
2021-04-19 14:49:10 +03:00

117 lines
3.8 KiB
Markdown

### E2E UI automation for Kafka-ui
This repository is for E2E UI automation.
### Table of Contents
- [Prerequisites](#prerequisites)
- [How to install](#how-to-install)
- [Environment variables](#environment-variables)
- [How to run checks](#how-to-run-checks)
- [Reporting](#reporting)
- [Environments setup](#environments-setup)
- [Test Data](#test-data)
- [Actions](#actions)
- [Checks](#checks)
- [Parallelization](#parallelization)
- [How to develop](#how-to-develop)
### Prerequisites
- Docker & Docker-compose
- Java
- Maven
### How to install
```
git clone https://github.com/provectus/kafka-ui.git
cd kafka-ui-e2e-checks
docker pull selenoid/vnc:chrome_86.0
```
### Environment variables
|Name | Default | Description
|---------------------------------------|-------------|---------------------
|`USE_LOCAL_BROWSER` | `true` | clear reports dir on startup
|`CLEAR_REPORTS_DIR` | `true` | clear reports dir on startup
|`SHOULD_START_SELENOID` | `false` | starts selenoid container on startup
|`SELENOID_URL` | `http://localhost:4444/wd/hub` | URL of remote selenoid instance
|`BASE_URL` | `http://192.168.1.2:8080/` | base url for selenide configuration
|`PIXELS_THRESHOLD` | `200` | Amount of pixels, that should be different to fail screenshot check
|`SCREENSHOTS_FOLDER` | `screenshots/` | folder for keeping reference screenshots
|`DIFF_SCREENSHOTS_FOLDER` | `build/__diff__/` | folder for keeping screenshots diffs
|`ACTUAL_SCREENSHOTS_FOLDER` | `build/__actual__/` | folder for keeping actual screenshots(during checks)
|`SHOULD_SAVE_SCREENSHOTS_IF_NOT_EXIST` | `true` | folder for keeping actual screenshots(during checks)
|`TURN_OFF_SCREENSHOTS` | `false` | If true, `compareScreenshots` will not fail on different screenshots. Useful for functional debugging on local machine, while preserving golden screenshots made in selenoid
### How to run checks
1. Run `kafka-ui`
```
cd docker
docker-compose -f kafka-ui.yaml up -d
```
2. Run `selenoid-ui`
```
cd kafka-ui-e2e-checks/docker
docker-compose -f selenoid.yaml up -d
```
3. Run checks
```
cd kafka-ui-e2e-checks
mvn test
```
* There are several ways to run checks
1. If you don't have selenoid run on your machine
```
mvn test -DSHOULD_START_SELENOID=true
```
⚠️ If you want to run checks in IDE with this approach, you'd need to set up
environment variable(`SHOULD_START_SELENOID=true`) in `Run/Edit Configurations..`
2. For development purposes it is better to just start separate selenoid in docker-compose
Do it in separate window
```
cd docker
docker-compose -f selenoid.yaml up
```
Then you can just `mvn test`. By default, `SELENOID_URL` will resolve to `http://localhost:4444/wd/hub`
It's preferred way to run.
* If you have remote selenoid instance, set
`SELENOID_URL` environment variable
Example:
`mvn test -DSELENOID_URL=http://localhost:4444/wd/hub`
That's the way to run tests in CI with selenoid set up somewhere in cloud
### Reporting
Reports are in `allure-results` folder.
If you have installed allure commandline(e.g. like [here](https://docs.qameta.io/allure/#_installing_a_commandline) or [here](https://www.npmjs.com/package/allure-commandline))
You can see allure report with command:
```
allure serve
```
### Screenshots
Reference screenshots are in `SCREENSHOTS_FOLDER` (default,`kafka-ui-e2e-checks/screenshots`)
### How to develop
> ⚠️ todo
### Setting for different environments
> ⚠️ todo
### Test Data
> ⚠️ todo
### Actions
> ⚠️ todo
### Checks
> ⚠️ todo
### Parallelization
> ⚠️ todo
### Tips
- install `Selenium UI Testing plugin` in IDEA