Files
cypress/packages/runner/README.md
Ben Kucera 6c6b23f88f isolated runner changes (#6799)
* isolated runner changes

* more fixes for isolated runner, get runner.spec passing

* fix prev commit add untracked files

* add server reporter.spec.js for testing mocha output

* fix has-binary yarn.lock

* fix spec expected error message

* cleanup snapshot utility - use chai assert fn, add test to runner.spec, pin dep

* remove test-retries related tests

* small cleanup diff utility

* move runner.spec to packages/runner

* fix requiring missing file

* fix circle.yml runner-integration-tests

* update readme

* finish refactor of helpers for isolated runner-integration tests

* restore runner/test/eslintrc

* fix .eslintignore

* temp 04/09/20 [skip ci]

* Update readme to reflect how to start server for cypress tests

* try 2: fix rerun before/after hooks

* temp 04/29/20 [skip ci]

* backport changes from test-retries

* change logic to rerun before hooks after top navigation

* fix windowSize for browser e2e test

* fix windowSize for xvfb chrome in e2e test

* ok fine, just disable screenshots

* fix after merge: decaffed navigation.js

* update server/unit test snapshots

* fix after merge: decaffed aliases.js

* fix usage of cypress --parallel flag in circle.yml

* fix circle.yml integration-tests jobs

* fix decaf related typo

* fix circle.yml separate command for runner-integration-tests

* update runner/integration tests + snapshot after error improvements

* fix runner/integration snapshots for chrome/ff stacktrace differences

* rerun ci

* fix passing --parallel to runner-integration tests

* perf: faster lookup for hooks without runnables

* fix afterAll hook switch logic

* backport to before/after fix

* backport to before/after fix 2

* cleanup from decaf, fix ui/package.json

* update helpers, simplify runner.spec

* fix lint-types errors, flaky spec

* fix noExit passed to e2e test inline options

* cleanup snapshot utility - refactor to use util file

* remove before/after changes

* make cy obj a class instance

* cleanup/unmerge before/after fixes PR...

* more cleanup

* add comment

* fix runner.spec

* cleanup snapshot utility more, cleanup reporter.spec

* minor rename variable

* fix specName in reporterHeader, spec_helper require

* replace reporter specPath usages with spec object from config

* cleanup, fix specs, fix types tests

* fix config spec paths in isolated runner, fix snapshot plugin button

* combine runner.spec.js and runner_spec.js

* fix incorrect merge

* minor minor cleanup

* rename driver/test/cypress to driver/test

* use yarn workspace over lerna for individual package commands

* add error message to driver start

* remove usage of wait-on

* update <reference types/>, import string

* fix driver/readme

* fix readmes after regex replace

* revert wait-on changes

* Revert "revert wait-on changes"

This reverts commit 6de684cf34.

* update yarn.lock

* fix broken path in spec

* fix broken paths in specs with @packages/driver

* move runner/test/cypress into runner/cypress

* start server in pluginsFile in runner/cypress tests

* fix more broken spec paths

* fix broken paths after runner/cypress folder move

* move type definition loading for driver/cypress into dedicated file

* move internal-types to "types" folder, fix driver/index.d.ts

* fix type-check in packages/runner. not exactly sure why

* fix runner type-check by excluding test folder in tsconfig

* bump timeout on e2e/8_error_ui_spec

* update snapshot utility, rename tests in runner/runner.spec, fix README yarn commands

* fix snapshot naming, remove redundant test in reporter_spec

* rename runner snapshot file

* address feedback: move server reporter snapshot specs out

* address feedback: add comment about exposing globals

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2020-06-16 14:17:24 -04:00

1.3 KiB

Runner

Runner

The runner is the minimal "chrome" around the user's app and has the following responsibilities:

  • Managing communication between the driver, the reporter, the extension, and the server
  • Managing the viewport size and scale
  • Showing the currently active URL

Developing

Watching

This watches and compiles all changes as you make them.

  • Runs *.js and *.jsx through babel and bundles with browserify into single dist/cypress_runner.js
  • Runs associated unit test of file saved and outputs to terminal
  • Compiles *.scss files to single dist/cypress_runner.css
  • Additionally it compiles both the reporter and driver
yarn workspace @packages/runner watch

Building

For development

yarn workspace @packages/runner build

For production

yarn workspace @packages/runner build-prod

Testing

Node Unit Tests

yarn workspace @packages/runner test

Cypress Tests

You can run Cypress tests found in cypress/integration:

yarn workspace @packages/runner cypress:open

To watch and reload changes to the runner while testing you'll want to run:

yarn workspace @packages/runner watch