This directory contains a simple example of a Cypress E2E test with one test spec cypress/e2e/spec.cy.js running using the Mozilla Firefox browser from the ESR (Extended Support Release) channel.
Choosing a Firefox update channel explains the Firefox "Extended Support Release (ESR)".
Install Firefox ESR on your host system.
Use regular Cypress CLI commands to run Cypress with Firefox (ESR):
cd examples/firefox-esr
npm ci
npx cypress run --browser firefox
npx cypress open --e2e --browser firefoxIn the Docker examples below, the Firefox ESR browser is installed from Debian distribution sources. See the firefox-esr package (bookworm (stable) section) covering amd64 arm64 armhf i386 mips64el ppc64el s390x processor architectures.
In this example we first run the unchanged image cypress/base as a container:
cd examples/firefox-esr # Use a pre-configured simple Cypress E2E project
npm ci # Install Cypress
docker run -it --rm -v .:/app -w /app cypress/base # Run image as containerAt the bash prompt :/app#, we can then enter the following commands:
apt-get update # Update package index
apt-get install firefox-esr -y # Install Firefox ESR
unset CI # Allows to see installation progress
npx cypress install # Install Cypress binary into running Docker container
npx cypress run --browser firefox # Run Cypress test
exitIn this example we use a customized Dockerfile which bases a new image on cypress/base, copies the complete Cypress project into the image, including installed dependencies, then installs Firefox ESR and the Cypress binary into the image.
The file is examples/firefox-esr/Dockerfile and it has the following contents:
FROM cypress/base
COPY . /opt/app
WORKDIR /opt/app
RUN apt-get update # Update package index
RUN apt-get install firefox-esr -y # Install Firefox ESR
RUN npx cypress install # Install Cypress binaryWe build the new image, run the container from the image and execute the Cypress command npx cypress run --browser firefox to run the test using Firefox ESR:
cd examples/firefox-esr # Use a pre-configured simple Cypress E2E project
npm ci # Install all dependencies
docker build -t test-firefox-esr . # Build a new image
docker run -it --rm --entrypoint bash test-firefox-esr -c "npx cypress run --browser firefox" # Run Cypress test using Firefox ESR