grafana/contribute/style-guides/e2e-core.md
Steven Vachon 2e3b6b6850
Docs: E2E (#27461)
* Separated generalized E2E docs from that of core

… and rewrote some minor things to be more concise for faster reads.

* Added plugins E2E document
2020-09-09 08:55:42 -04:00

1.7 KiB

End-to-End Tests for core Grafana

This document is specific to the Grafana repository. Be sure that you've read the generalized E2E document.

Commands

  • yarn e2e Creates an isolated grafana-server home under <repo-root>/e2e/tmp with provisioned data sources and dashboards. This copies locally build binary and frontend assets from your repo root so you need to have a built backend and frontend for this to run locally. The server starts on port 3001 so it does not conflict with your normal dev server.
  • yarn e2e:debug Same as above but runs the tests in chrome and does not shutdown after completion.
  • yarn e2e:dev Same as above but does not run any tests on startup. It lets you pick a test first.

If you already have a Grafana instance running, you can provide a specific URL by setting the BASE_URL environment variable:

BASE_URL=http://172.0.10.2:3333 yarn e2e

The above commands use some utils scripts under <repo-root>/e2e that can also be used for more control.

  • ./e2e/start-server This creates a fresh new grafana server working dir, setup's config and starts the server. It will also kill any previously started server that is still running using pid file at <repo-root>/e2e/tmp/pid.
  • ./e2e/wait-for-grafana waits for $HOST and $PORT to be available. Per default localhost and 3001.
  • ./e2e/run-suite <debug|dev|noarg> Starts cypress in different modes.

Test suites

All the integration tests are located at <repo-root>/e2e/suite<x>/specs. The page objects and reusable flows are in the <repo-root>/packages/grafana-e2e package.