首页 文章

从容器中运行Gatling

提问于
浏览
2

我正在使用denvazh / gatling容器,一切正常,除了一件事我试图通过这样的模拟列表:

Attaching to gatling
gatling_1 | GATLING_HOME is set to /opt/gatling
gatling_1 | Choose a simulation number:
gatling_1 |      [0] AppsPods
gatling_1 |      [1] ServerSimulation
gatling_1 |      [2] computerdatabase.BasicSimulation
gatling_1 |      [3] computerdatabase.advanced.AdvancedSimulationStep01
gatling_1 |      [4] computerdatabase.advanced.AdvancedSimulationStep02
gatling_1 |      [5] computerdatabase.advanced.AdvancedSimulationStep03

我写这样的命令:

docker run -it --rm -v / home / core / gatling / conf:/ opt / gatling / conf \ -v / home / core / gatling / user-files:/ opt / gatling / user-files \ -v / home / core / gatling / results:/ opt / gatling / results \ denvazh / gatling -s AdvancedSimulationStep01

但没有任何意义的模拟列表再次显示,我需要从列表中选择测试开始模拟 . 所以有可能只运行那个测试我指定启动docker run命令???

2 回答

  • 0

    你需要提供完全合格的类名,即

    docker run -it --rm -v /home/core/gatling/conf:/opt/gatling/conf \ -v /home/core/gatling/user-files:/opt/gatling/user-files \ -v /home/core/gatling/results:/opt/gatling/results \ denvazh/gatling -s computerdatabase.advanced.AdvancedSimulationStep01

  • 3

    我运行我的模拟有点不同,也许在Taurus线束中这样,其中 bzt-configs 是包含脚本的文件夹, artifacts 是包含测试输出的文件夹:

    #!/bin/bash
    clear
    ## use en0, not en1, if your on WIFI
    OSX_HOST=`ipconfig getifaddr en0`
    MACHINE_HOST=$OSX_HOST
    CURRENT_DIR=`pwd`
    if [[ -z "${GATLING_HOME}" ]]; then
      GATLING_HOME=~/gatling
    fi
    EXEC_SUB_FOLDER=out-taurus
    EXEC_FOLDER="$CURRENT_DIR/${EXEC_SUB_FOLDER}"
    [ -d $EXEC_FOLDER ] || mkdir $EXEC_FOLDER
    yes | cp -rf performance/my-simulation/scripts/* $EXEC_FOLDER
    cd $EXEC_FOLDER
    docker run -it --rm -e MY_ENV='dev' --add-host "machine-host:${MACHINE_HOST}" \
     -v ~/.bzt-rc::/bzt-configs/.bzt-rc -v $PWD:/bzt-configs -v $PWD:/tmp/artifacts \
     blazemeter/taurus:latest /tmp/artifacts/performance.yml
    cd ..
    

    其中.yml包含你的Gatling bzt配置:

    execution:
    - executor: gatling
      scenario: MySimulation
    modules:
      console:
        disable: 'true'
      local:
        sequential: 'true'
    reporting:
    - module: final-stats
    scenarios:
      MySimulation:
        script: computerdatabase.advanced.AdvancedSimulationStep01.scala
        simulation: MySimulation
    settings:
      check-interval: 1s
    

    然后你的gatling脚本可以使用/ etc / hosts中的 machine-host 名称来回调测试目标 .

相关问题