【问题标题】:CSV data set config- Jmeter DockerCSV 数据集配置 - Jmeter Docker
【发布时间】:2018-09-28 19:16:50
【问题描述】:

我正在创建一个 Jmeter docker 容器。测试输入由 CSV(数据集配置)驱动。我需要在脚本中设置的文件名路径应该是什么

【问题讨论】:

    标签: docker jmeter containers


    【解决方案1】:

    鉴于您正在创建一个 JMeter docker 容器,您应该知道将 CSV 文件放在哪里。通常建议在脚本中使用 CSV 文件的相对路径以获得更好的可维护性或distributed testing

    所以我建议使用Docker COPY 指令将您的CSV 文件传输到JMeter 的“bin”文件夹,并仅使用CSV Data Set Config 中的文件名

    鉴于Make Use of Docker with JMeter - Learn How 文章中的示例 Dockerfile:

    # 1
    FROM alpine:3.6
    
    # 2
    LABEL maintainer=”vincenzo.marrazzo@domain.personal>
    
    # 3
    ARG JMETER_VERSION="5.0"
    
    # 4
    ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
    ENV JMETER_BIN  ${JMETER_HOME}/bin
    ENV MIRROR_HOST http://mirrors.ocf.berkeley.edu/apache/jmeter
    ENV JMETER_DOWNLOAD_URL ${MIRROR_HOST}/binaries/apache-jmeter-${JMETER_VERSION}.tgz
    ENV JMETER_PLUGINS_DOWNLOAD_URL http://repo1.maven.org/maven2/kg/apc
    ENV JMETER_PLUGINS_FOLDER ${JMETER_HOME}/lib/ext/
    
    # 5
    RUN    apk update \
        && apk upgrade \
        && apk add ca-certificates \
        && update-ca-certificates \
                && apk add --update openjdk8-jre tzdata curl unzip bash \
                && cp /usr/share/zoneinfo/Europe/Rome /etc/localtime \
                && echo "Europe/Rome" >  /etc/timezone \
        && rm -rf /var/cache/apk/* \
        && mkdir -p /tmp/dependencies  \
        && curl -L --silent ${JMETER_DOWNLOAD_URL} >  /tmp/dependencies/apache-jmeter-${JMETER_VERSION}.tgz  \
        && mkdir -p /opt  \
        && tar -xzf /tmp/dependencies/apache-jmeter-${JMETER_VERSION}.tgz -C /opt  \
        && rm -rf /tmp/dependencies
    
    # 6
    RUN curl -L --silent ${JMETER_PLUGINS_DOWNLOAD_URL}/jmeter-plugins-dummy/0.2/jmeter-plugins-dummy-0.2.jar -o ${JMETER_PLUGINS_FOLDER}/jmeter-plugins-dummy-0.2.jar
    RUN curl -L --silent ${JMETER_PLUGINS_DOWNLOAD_URL}/jmeter-plugins-cmn-jmeter/0.5/jmeter-plugins-cmn-jmeter-0.5.jar -o ${JMETER_PLUGINS_FOLDER}/jmeter-plugins-cmn-jmeter-0.5.jar
    
    # 7
    ENV PATH $PATH:$JMETER_BIN
    
    # 8
    COPY launch.sh /
    COPY somefile.csv $JMETER_BIN
    #9
    WORKDIR ${JMETER_HOME}
    
    #10
    ENTRYPOINT ["/launch.sh"]
    

    所以这一行:

    COPY somefile.csv $JMETER_BIN
    

    会将您的 CSV 文件传输到 JMeter 安装的“bin”文件夹中,因此您可以将其引用为 somefile.csv

    【讨论】:

      【解决方案2】:

      您应该将文件路径设置为从 docker 看到的与卷相关的路径。:

      例如:

      docker run -v "DIR of machine":"DIR inside docker container"

      【讨论】:

        猜你喜欢
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-02
        • 1970-01-01
        相关资源
        最近更新 更多