我们如何使用cypress-tags
. 以下命令在本地 Windows 命令行中成功运行
Local:
CYPRESS_baseUrl=https://someurl.com/book/ npx cypress-tags run -e TAGS='@regression' GLOB='test/cypress/integration/**/*.feature' --headless --browser chrome
但是当我在 Jenkins 文件中尝试以下操作时:
/node_modules/.bin/npx cypress-tags ${cypressArgs}
//(抛出错误>找不到模块'/node_modules/.bin/npx')
Jenkins file:
stage('Run cypress') {
steps {
script {
mattermostSend color: 'good', channel: channel, message: "**STARTING** - Cypress CI starting (<${env.BUILD_URL}|build ${env.BUILD_NUMBER}>)"
sh "mkdir -p \"${ARTEFACT_DIR}/videos\""
sh "mkdir -p \"${ARTEFACT_DIR}/screenshots\""
def baseUrlConfig="-e CYPRESS_baseUrl=https://someurl.com/book"
def screenshotsFolderConfig="screenshotsFolder=/artefacts/screenshots"
def videosFolderConfig="videosFolder=/artefacts/videos"
def config = "--config ${screenshotsFolderConfig},${videosFolderConfig}"
def cypressArgs = "run -e TAGS='@regression' GLOB='tests/cypress/integration/**/*.feature' --headless --browser chrome ${config} --project /books-suite"
sh """
docker run ${baseUrlConfig} \
-v \"${ARTEFACT_DIR}:/artefacts\" \
-v \"${env.WORKSPACE}/books-co:/books-suite\" \
-e CYPRESS_OUTPUT_FILE=\"/artefacts/report.html\" \
-e CYPRESS_USERNAME=\"CypressUser3\" \
-e CYPRESS_PASSWORD=\"CypressTest123\" \
-e CYPRESS_API_GRANT=\"client_credentials\" \
-e CYPRESS_CLIENT_ID=\"50e556ffa1970d8f7b38564df218177\" \
-e CYPRESS_CLIENT_SECRET=\"8745b8c7\" \
-e CYPRESS_API_KEY=\"some_key\" \
-e CYPRESS_BASE_URL=\"https://someurl.com/book/\" \
-e CYPRESS_API_URL=\"https://someurl.com/api/v2.0/books/\" \
cypress:latest \
/node_modules/.bin/npx cypress-tags ${cypressArgs}
"""
mattermostSend color: 'good', channel: channel, message: "**SUCCESSED** - Cypress CI passed successfully (<${env.BUILD_URL}|build ${env.BUILD_NUMBER}>)"
}
}
}