This is the core JavaScript library that is loaded inside the browser that is responsible for executing Cypress commands and managing the test runtime.
The driver's dependencies can be installed with:
cd packages/driver
npm install
The driver is actually consumed by the runner
like any other npm module. To develop the driver and see changes reflected you need to run the watch
task inside of the runner.
cd packages/runner
npm run watch
Read the runner's README.md
for more information.
This project is tested with Cypress itself. It acts exactly like any other Cypress project (really we're not kidding!).
The driver uses a node server to test all of its edge cases, so first start that.
## boot the driver's server
npm start
If you're developing on the driver, you'll want to run in the normal Cypress GUI mode, like you would when you're writing tests for your own Cypress projects.
## run in cypress GUI mode
npm run cypress:open
You can also run all of the driver's tests locally. We don't really recommend this because it takes a long time, and we have this process optimized by load balancing the tests across multiple workers in CI.
It's usually easier to run the tests in the GUI, commit, and then see if anything broke elsewhere.
## run all the tests
npm run cypress:run
In the browser
localStorage.debug = "cypress:driver"