我无法在Jenkins中查看Jmeter仪表板报告,但是jenkins作业会创建一个index.html报告,但它为空
能正常工作在本地和与所有所需的值生成的index.html。
缺少什么我在这里?
这是我的pom.xml
storage_.data_.buf
可能是某些詹金斯配置出错了吗?
答案 0 :(得分:2)
这归因于詹金斯Content Security Policy。
您需要通过设置Java系统属性来对其进行调整:
hudson.model.DirectoryBrowserSupport.CSP
由于它包含保留的字符,因此可以通过创建Groovy script文件$ JENKINS_HOME / init.groovy或目录$ JENKINS_HOME / init.groovy.d /中包含以下内容的任何.groovy文件来设置此属性:< / p>
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline'; font-src *;img-src 'self' data: *;frame-ancestors 'self'")
如果您想进一步了解性能测试和JMeter,此book可以为您提供帮助。
请注意,您可以按照此tutorial轻松地完成自己的工作。
答案 1 :(得分:2)
由于我的组织不允许放宽安全性并重置内容安全策略,因此我使用docker
进行了此操作,因此能够清晰地查看报告
这是Dockerfile
FROM alpine:3.9
ENV JMETER_HOME /opt/apache-jmeter-5.1
ENV JMETER_BIN ${JMETER_HOME}/bin
ENV PATH $PATH:$JMETER_BIN
ENV JMETER_DOWNLOAD_URL http://mirrors.estointernet.in/apache//jmeter/binaries/apache-jmeter-5.1.tgz
RUN apk update \
&& apk upgrade \
&& apk add --update openjdk8-jre curl unzip bash \
&& rm -rf /var/cache/apk/* \
&& mkdir -p /tmp/dependencies \
&& curl -L --silent ${JMETER_DOWNLOAD_URL} > /tmp/dependencies/apache-jmeter-5.1.tgz \
&& mkdir -p /opt \
&& tar -xzf /tmp/dependencies/apache-jmeter-5.1.tgz -C /opt \
&& rm -rf /tmp/dependencies
COPY launch.sh /opt/
COPY src/ /opt/src
WORKDIR /opt
ENTRYPOINT ["/opt/launch.sh"]
您可以将jmeter
命令放在launch.sh
中,并将.jmx脚本放在src
文件夹中
答案 2 :(得分:0)
默认情况下,Jenkins Content Security Policy看起来像
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
该值是从hudson.model.DirectoryBrowserSupport.CSP
Java System property中读取的,因此您可以通过Jenkins Script Console设置相关值,使其更“放松”(该值将一直存在,直到下次重新启动)或通过将相关参数添加到Jenkins启动参数中。
您可能还对Jenkins Performance Plugin感兴趣,它添加了一些通过/失败标准和性能趋势图之类的其他功能