Skip to content

Latest commit

 

History

History

e2e-runner

@nx-extend/e2e-runner

@nx-extend/e2e-runner NPM package

Nx plugin to start your API and then run the Cypress/Playwright E2E tests.

Setup

Install

npm install -D @nx-extend/e2e-runner
nx g @nx-extend/e2e-runner:add

Available options:

All options of @nrwl/cypress:cypress are available here if runner = cypress All options of @nx-extend/playwright:test are available here if runner = playwright All options of @nx/workspace:run-commands are available here if runner = run-commands

Target options:

The targets option is used to define targets that should be started before running the tests. Each target can be configured with the following options.

{
  target: string // The target to run.
  checkUrl?: string // The url to check if the target is "live", a target is live if this url returns a status-code in the 200 range.
  checkMaxTries?: number // The amount of times the `checkUrl` is tried before failing, there is a two second delay between tries.
  env?: { [key: string]: string } // Extra parameters provided to the target on startup.
  reuseExistingServer?: boolean // Set to true to allow using a previously started target.
  rejectUnauthorized?: boolean // Set to false to allow the use of self-signed certificates in your target.
  logging?: boolean // Set to true to forwards the logs of the target, set to false to hide the logs of the target. When undefined, the logs are only forwarded with the `--verbose` flag.
}

Example target

{
  ...
  "e2e": {
    "executor": "@nx-extend/e2e-runner:run",
    "options": {
      "runner": "playwright | cypress | run-commands | @nx/playwright",
      "targets": [
        {
          "target": "app:serve",
          "checkUrl": "http://localhost:4200/",
          "checkMaxTries": 50,
          "rejectUnauthorized": true
        },
        {
          "target": "api:serve",
          "checkUrl": "http://localhost:9000/health",
          "checkMaxTries": 50,
          "logging": false
        }
      ]
    }
  }
}