Currently I have Jenkins running on a Master (Host machine) which uses Windows 10 Pro x64 and also a Slave node which also uses Windows 10 Pro x64 (Virtual Machine).
I have also configured the following Jenkins pipeline job:
pipeline {
agent any
tools {nodejs "node"}
stages {
stage('Cypress Parallel Test Suite') {
parallel {
stage('Test_1') {
steps {
git 'https://github.com/quser/cypress-auto-framework.git'
bat 'npm install'
bat 'npm update'
bat 'npm run triggerAllTests-dashboard'
}
}
stage('Test_2') {
agent {
label "remote"
}
steps {
git 'https://github.com/quser/cypress-auto-framework.git'
bat 'npm install'
bat 'npm update'
bat 'npm run triggerAllTests-dashboard'
}
}
}
}
}
}
When trigger a Job from the master node, I can see that the slave node is indicating the following message:
In order to run in parallel mode each machine must send identical environment parameters such as:
- specs
- osName
- osVersion
- browserName
- browserVersion (major)
This machine sent the following parameters:
{ "osName": "win32", "osVersion": "10.0.18363", "browserName": "Electron", "browserVersion": "80.0.3987.158", "specs": [
"cypress\\integration\\examples\\aliasing.spec.js",
"cypress\\integration\\examples\\assertions.spec.js",
"cypress\\integration\\examples\\webdriverUni\\actions.spec.js" ]
}
Please note I have added the --parallel key to my custom node script (triggerAllTests-dashboard).
Cypress doc: https://docs.cypress.io/guides/references/error-messages.html#Cannot-parallelize-tests-across-environments
Any ideas?
Thanks