微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 Jmeter 的 noVNC Docker - 启动按钮错误,无法创建脚本记录器 - keytool 错误:java.security.ProviderException

如何解决带有 Jmeter 的 noVNC Docker - 启动按钮错误,无法创建脚本记录器 - keytool 错误:java.security.ProviderException

我在 noVNC 中运行 Jmeter,能够在 noVNC 中运行 Jmeter,但在认小窗口中运行。 但是当我创建 Http(s) 脚本记录器并单击“开始”按钮时,出现此错误

错误是 -> “无法创建脚本记录器 - 有关详细信息,请参阅日志:>> keytool 错误:java.security.ProviderException:无法初始化 NSS

尝试在我的 Chrome 浏览器中使用和不使用代理设置创建 Http(s) 脚本记录器,得到同样的错误

enter image description here

屏幕截图的右侧

enter image description here

下面是我的 Dockerfile

FROM uphy/novnc-alpine
RUN \
    apk add --no-cache curl openjdk8-jre bash \
    && apk add --no-cache nss \
    && curl -L https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.4.1.tgz >  /tmp/jmeter.tgz \
    && mkdir -p /opt \
    && tar -xvf /tmp/jmeter.tgz -C /opt \
    && rm /tmp/jmeter.tgz \
    && cd /etc/supervisor/conf.d \
    && echo '[program:jmeter]' >> supervisord.conf \
    && echo 'command=/opt/apache-jmeter-5.4.1/bin/./jmeter' >> supervisord.conf \
    && echo 'autorestart=true' >> supervisord.conf
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/
RUN export JAVA_HOME

这就是我的跑步方式(与Use Jmeter desktop application as web app相关)

  1. 使用 noVNC 创建 docker 镜像并在 noVNC 中运行 Jmeter(最后也提供了 dockerfile)
  2. 将其暴露给某个端口并在浏览器中访问它
docker build -t jmeter .
docker run -it --rm -p 8080:8080 jmeter
  1. 我也检查了我的 docker 容器,能够看到 JDK,jdk 已经存在这里 -> /usr/lib/jvm/java-1.8-openjdk/ 和jmeter 存在于此处 /opt/apache-jmeter-5.4.1
  2. 我不确定是否应该在 docker run 命令中传递更多选项或参数。
  3. 我想知道,由于此 Jmeter 在 noVNC docker 中运行,因此在单击 start 按钮后,此 jmeter 如何在我的 bin 目录中创建证书?
  4. 无需导入或无需点击开始按钮即可自动集成/创建此证书的任何其他方式。
  5. 如果 Jmeter 在 noVNC 容器内运行,如何进行代理设置。

解决方法

我认为你需要install nss package

改变这一行:

apk add --no-cache curl openjdk8-jre bash \

到这个:

apk add --no-cache curl openjdk8-jre bash nss \

重新构建映像后,HTTP(S) 测试脚本记录器应该会正常启动。

关于证书,它将存储在JMeter的“bin”文件夹容器中所以如果你想在容器中的浏览器中使用 - 你必须安装浏览器还有。

如果您想在本地机器上使用浏览器 - 您需要为 JMeter 的 HTTP(S) 测试脚本记录器 copy the certificate from the containerexpose another port

请注意,您还可以使用 JMeter Chrome Extension 记录 JMeter 测试脚本,在这种情况下,您不必担心代理、证书和端口。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?