Skip to main content

< starsky/starsky-tools docs

Cypress end2end testing

Running end to end testing

install

npm ci

Run with UI enabled

npm run start

And ready :)

With docker compose

Running on http://localhost:12837

npm run open:docker

With Env variables

CYPRESS_BASE_URL - main domain its running cypress_name 'local', heroku-demo or no-create-account cypress_AUTH_USER account to login, default "demo@qdraw.nl" cypress_AUTH_PASS password to login default "demo@qdraw.nl"

Example to set values before testing:

export CYPRESS_BASE_URL="https://demostarsky.herokuapp.com"
export cypress_name="no-create-account"
export cypress_AUTH_USER="demo@qdraw.nl"
export cypress_AUTH_PASS="demo@qdraw.nl"

Open with window

npm run start:env

Run headless

npm run e2e:env

Run for example starsky on any input

.\starsky.exe --urls "http://*:5100;https://*:5101"

With cypress.io dashboard enabled

export CYPRESS_PROJECT_ID={projectId}
export CYPRESS_RECORD_KEY=abc-key-123

ReInstall

In case there is a major upgrade of all dependencies

This is the base package.json

{
"name": "end2end",
"version": "0.5.0-beta.0",
"description": "End2End testing of the application",
"scripts": {
"start": "cypress open --env configFolder=starsky,configEnv=local,CYPRESS_RETRIES=2",
"start:env": "cypress open",
"open:env": "npm run start:env",
"start:heroku": "npm run start:heroku-demo",
"open:heroku": "npm run start:heroku-demo",
"open:heroku-demo": "npm run start:heroku-demo",
"start:heroku-demo": "cypress open --env configFolder=starsky,configEnv=heroku-demo,CYPRESS_RETRIES=2",
"e2e:heroku-demo": "cypress run --env configFolder=starsky,configEnv=heroku-demo,CYPRESS_RETRIES=2",
"open:docker": "cypress open --env configFolder=starsky,configEnv=docker,CYPRESS_RETRIES=2",
"start:docker": "npm run open:docker",
"e2e:docker": "cypress run --env configFolder=starsky,configEnv=docker,CYPRESS_RETRIES=2",
"e2e:env": "cypress run",
"e2e:env:record": "cypress run --record",
"cache-path": "cypress cache path",
"cache": "cypress cache path",
"lint": "node node_modules/eslint/bin/eslint.js \"**\" --max-warnings 0"
}
}

And the following npm packages are installed

npm install --save-dev @types/node
npm install --save-dev @typescript-eslint/eslint-plugin
npm install --save-dev @typescript-eslint/parser
npm install --save-dev cypress
npm install --save-dev eslint
npm install --save-dev eslint-plugin-import
npm install --save-dev eslint-plugin-node
npm install --save-dev eslint-plugin-promise
npm install --save-dev get-port
npm install --save-dev typescript
npm install --save-dev eslint-config-standard-with-typescript --force