【发布时间】:2018-09-28 19:16:50
【问题描述】:
我正在创建一个 Jmeter docker 容器。测试输入由 CSV(数据集配置)驱动。我需要在脚本中设置的文件名路径应该是什么
【问题讨论】:
标签: docker jmeter containers
我正在创建一个 Jmeter docker 容器。测试输入由 CSV(数据集配置)驱动。我需要在脚本中设置的文件名路径应该是什么
【问题讨论】:
标签: docker jmeter containers
鉴于您正在创建一个 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
【讨论】:
您应该将文件路径设置为从 docker 看到的与卷相关的路径。:
例如:
docker run -v "DIR of machine":"DIR inside docker container"
【讨论】: