Cucumber Gitlab runner作业因测试失败而暂停

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” 作业暂停,无法执行

我是gitlab runner的新手,尝试在单元测试通过后设置验收阶段。 触发作业时,测试将在windows计算机上运行。 测试通过时作业退出,但测试失败时作业暂停。我现在只有一个测试,我计划在解决这个问题后并行运行多个测试。 使用maven命令触发测试。(我调整了测试,使其失败。)此命令导致测试失败: mvn验证-P rest测试运行-Denvironment=“qa”-Dwebdriver.chrome.driver=“C:\tools\chromedriver.exe” 作业暂停,无法执行下一个命令。 下面是我用来触发验收阶段的yaml示例文件:

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最终退出代码。我将关闭此问题。