117 lines
3.8 KiB
Markdown
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
|
|
|