Cucumber Gitlab runner作业因测试失败而暂停
我是gitlab runner的新手,尝试在单元测试通过后设置验收阶段。 触发作业时,测试将在windows计算机上运行。 测试通过时作业退出,但测试失败时作业暂停。我现在只有一个测试,我计划在解决这个问题后并行运行多个测试。 使用maven命令触发测试。(我调整了测试,使其失败。)此命令导致测试失败: mvn验证-P rest测试运行-Denvironment=“qa”-Dwebdriver.chrome.driver=“C:\tools\chromedriver.exe” 作业暂停,无法执行下一个命令。 下面是我用来触发验收阶段的yaml示例文件:Cucumber Gitlab runner作业因测试失败而暂停,cucumber,gitlab-ci,jobs,gitlab-ci-runner,acceptance-testing,Cucumber,Gitlab Ci,Jobs,Gitlab Ci Runner,Acceptance Testing,我是gitlab runner的新手,尝试在单元测试通过后设置验收阶段。 触发作业时,测试将在windows计算机上运行。 测试通过时作业退出,但测试失败时作业暂停。我现在只有一个测试,我计划在解决这个问题后并行运行多个测试。 使用maven命令触发测试。(我调整了测试,使其失败。)此命令导致测试失败: mvn验证-P rest测试运行-Denvironment=“qa”-Dwebdriver.chrome.driver=“C:\tools\chromedriver.exe” 作业暂停,无法执行
stages:
- test
acceptance_tests:
stage: test
tags:
- playground
only:
- ci_cd_test
before_script:
- export POM_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
- cd ..
- git clone "git@gitlab.<project>" "<automation project name>" 2> /dev/null || (cd "<automation project name>" ; git pull)
- cd <webapp project name>
- export DB_URL=jdbc url
- export DB_USER=username
- export DB_PASSWORD=password
variables:
GIT_STRATEGY: none
script:
# flyway migrates
- java -Dfile.encoding=UTF-8 -jar <webapp project name>/target/<webapp project name>-$POM_VERSION.jar flyway migrate
# Bring up the app
- ./start.sh
# Run cucumber test
- cd ../<automation project name>
- mvn verify -P rest-test-run -Denvironment="qa" -Dwebdriver.chrome.driver="C:\tools\chromedriver.exe"
- cd ../<webapp project name>
# Stop the app
- ./stop.sh
阶段:
-试验
验收试验:
阶段:测试
标签:
-游乐场
仅:
-ci_-cd_试验
在脚本之前:
-导出POM_版本=$(mvn帮助:evaluate-Dexpression=project.VERSION-q-DforceStdout)
-cd。。
-git克隆”git@gitlab.“”
我尝试实施的一些疑难解答想法:
升级的surefireplugin(我在2.22.0中使用的版本)
在yaml文件中添加了清理作业
不并行地运行测试
上述想法并没有解决问题
您是否尝试过分解管道,使webapp启动、selenium测试、webapp停止处于不同阶段?是的,yml文件具有启动应用程序、运行测试和停止应用程序的不同阶段。脚本阶段、验收测试阶段和清理阶段。感谢您解决了此问题。我保存了maven退出代码并将其用作my最终退出代码。我将关闭此问题。