This is a project dealing with the implementation of E2E tests for the Shopware 6 platform project using Cypress framework.
Shopware 6 itself is not shipped with this project. This way, you need a running environment with a shopware platform repository. For more details about the setup steps, please refer to Shopware 6's getting started guide.
At first, clone this project in a folder you like. After that, you can just run the tests in a Docker container (see below).
Please notice that these Cypress tests don't rely on a specific dataset, but do need at least one entity of a kind to be available! E.g. one product, one customer, etc.
One possibility to fulfill these requirements is the following
shell helper | description |
---|---|
./psh.phar install | Full install with demo data |
./psh.phar demo-data | Command to add demo data, even at a later point |
The easiest way to install Cypress and all npm dependencies into your project folder is this docker helper:
docker run -ti --rm -v "$(pwd)":/cypress -v npm-root-cache:/root/.cache --workdir /cypress cypress/browsers:node11.13.0-chrome73 npm ci
You can also follow the Cypress installation guide for a manual installation.
Some environment variable are needed to run Cypress with Shopware 6 properly. Those environment variables have
to be available thorough a cypress.env.json
file.
We provide an example you can use out of the box.
Therefore, just copy cypress.env.json.example
in the same folder and remove the .example
of the file name in the
process. Afterwards, feel free to configure the environment variables according to your needs.
By default, we use the shopware theme for Cypress test runner. IF you don't want to use it, please set the following to false
:
"useShopwareTheme": true
In this test suite, we integrated cypress-dark plugin
to provide a dark mode for the test runner as well. You can activate it through setting the following variable in cypress.json
:
"useDarkTheme": false
Now you can run your tests in a Docker container:
docker run -ti --rm -v "$(pwd)":/cypress -v npm-root-cache:/root/.cache --workdir /cypress cypress/browsers:node11.13.0-chrome73 ./node_modules/cypress/bin/cypress run
You can also run the tests on your machine and watch them running with cypress run
.
If you only want to run the Storefront-Tests simply add --spec "cypress/integration/storefront/**/*"
to the cypress open
command.
You can override the baseUrl to test a remote Shopware Installation by passing the --config baseUrl=https://<remote-hostname>/
param.