如何通过 JMeter 调用 Web 小程序方法

How can I call a web applet method via JMeter

我有一个 java 网络小程序,它试图通过 PKCS#11 连接到硬件令牌并签署一个字符串。加载网页时,也会加载标志小程序。当 Web 表单中出现一个对话框时,用户应插入硬件令牌的密码,然后在单击签名按钮后,Web 表单调用小程序的签名方法并通过令牌上的证书对发送的字符串进行签名。

请注意,所有这些步骤都是在对话框上执行的,没有向服务器发送任何请求,因此 JMeter 无法感知发生了什么,直到签名文本通过请求发送到服务器以保存在数据库中。

(signed String每次都不一样,是根据web表单字段中存在的不同ID决定的)

问题是如何用JMeter调用小程序的签名方法,因为签名的字符串是基于ID的,在负载测试中也会有所不同。因此 JMeter 不应在每次加载时发送静态签名字符串,而应为每个线程签名不同的字符串。

我试图将 applet 的 jar 文件复制到 JMeter 的 lib 文件夹中,并通过 BSF Sampler 调用 Sign 方法,但在我在 applet 代码中使用 doPrivilaged 的行中出现 PKCS#11 异常。

有什么帮助吗?

我找到了解决方案,

因为 PKCS#11 在包 sun.security.pkcs11.SunPKCS11 中,我们应该使用 JDK1.7。

问题是 JMeter 没有设置为使用 JDK7。所以我编辑了 JMeter.bat 文件并更改了

set JM_LAUNCH=java.exe

set JM_LAUNCH="C:\Java\jdk1.7.0_03\bin\java.exe"

万岁。问题解决了:)