diff --git a/e2e/README.md b/e2e/README.md index 830a9662d0a..d3724280109 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -1,14 +1,35 @@ Please add the corresponding e2e (aka end-to-end) test cases if you add or update APIs. ## How to work -* Start and watch the [docker-compose](https://docs.docker.com/compose/) via [the script](script/start.sh) -* Run the e2e testing via [api-testing](https://github.com/LinuxSuRen/api-testing) - * It will run the test cases from top to bottom - * You can add the necessary asserts to it +* Start and watch the [Docker Compose](https://docs.docker.com/compose/) environment + * The Compose file is `e2e/docker-compose.yml` + * The `testing` container uses [api-testing](https://github.com/LinuxSuRen/api-testing) + * The main test definition file is `e2e/testsuite.yaml` + * Before starting the suite locally, build the `apache/hertzbeat:test` image from the repository root: + + ```bash + mvn clean -B package -Prelease -Dmaven.test.skip=true --file pom.xml + docker build -t apache/hertzbeat:test -f script/docker/server/Dockerfile ./dist + ``` + +* Run the E2E tests via [api-testing](https://github.com/LinuxSuRen/api-testing) + * The test cases run from top to bottom + * You can add the necessary assertions there + * Test data files are under `e2e/data/` + * The test report is generated at `e2e/report/report.md` + * HertzBeat logs are written to `e2e/logs/` ## Run locally -Please follow these steps if you want to run the e2e testing locally. +Please follow these steps if you want to run the E2E tests locally. + +> Please make sure that Docker Compose v2 is installed + +* Build the local `apache/hertzbeat:test` image from the repository root +* Change the directory to `e2e`, then run: -> Please make sure you have installed docker-compose v2 + ```bash + docker compose up --exit-code-from testing --remove-orphans + ``` -* Change the directory to `e2e`, then execute `./script/start.sh` +* If your environment uses the standalone Compose binary, use `docker-compose` instead of `docker compose` +* After the run, check `e2e/report/report.md` and `e2e/logs/` for the test result and runtime logs