Cypress - Azure DevOps
Running Cypress test in parallel on Azure DevOps and Currents Dashboard
This guide will help you to run Cypress tests in parallel using Azure DevOps and Currents Dashboard. The example showcases using 3 Azure DevOps containers for parallelizing the execution using Currents as an orchestration and reporting service.
Connect a new/existing pipeline to a repository containing your Cypress tests
Make sure that your
cypress.config.js
file has the correctprojectId
. You can fetch theprojectId
by navigating to https://app.currents.dev and then Project Name > Manage ProjectMake sure that both
cypress
and cypress-cloud are listed in yourpackage.json
as dependenciesCreate or modify an existing Variable Group, and add a new secret variable called
CURRENTS_SECRET
. You can grab the secret key at Currents Dashboard > Org Name (Header Menu) > Record KeysModify your
azure-pipelines.yml
file and use this file as a reference.
jobs:
- job: Cypress_e2e_tests
pool:
vmImage: "ubuntu-latest"
# Use 3 containers for parallel execution, use
strategy:
parallel: 3
# Fetch the secrets from Variable Group names "Currents"
variables:
- group: Currents
steps:
# Use Node@16 container
- task: NodeTool@0
inputs:
versionSpec: "16.x"
displayName: "Install Node.js"
# Speed up the execution by caching the dependencies
- task: CacheBeta@1
inputs:
key: npm | $(Agent.OS) | package-lock.json
path: /home/vsts/.npm
restoreKeys: npm | $(Agent.OS) | package-lock.json
displayName: Cache NPM packages
# cache cypress binary, which is installed at a different location
- task: CacheBeta@1
inputs:
key: cypress | $(Agent.OS) | package-lock.json
path: /home/vsts/.cache/Cypress
restoreKeys: cypress | $(Agent.OS) | package-lock.json
displayName: Cache Cypress binary
# Install Node dependencies
- script: npm ci
displayName: "Install NPM dependencies"
# Grab
# - CURRENTS_PROJECT_ID
# - CURRENTS_RECORD_KEY
# at https://app.currents.dev
#
# Read more about CI Build ID:
# https://currents.dev/readme/guides/cypress-ci-build-id
# Note the use of `currents` command
- script: |
npx cypress-cloud run --record --parallel --key $CURRENTS_RECORD_KEY --ci-build-id $BUILD_BUILDNUMBER
displayName: "Run Currents tests"
env:
CURRENTS_RECORD_KEY: $(CURRENTS_SECRET)
Pipeline executions will be orchestrated via the Currents Dashboard, and execution results and artifacts will be automatically uploaded as well.



Last updated
Was this helpful?