当前位置: 首页 > 知识库问答 >
问题:

使用Groovy使用JMeter中的标准Java类

罗梓
2023-03-14

在JMeter中,我想使用客户端证书,而无需转换证书的所有开销,并且不要忘记在JMeter重启后单击SSL管理菜单。

我希望能够灵活地在需要的地方使用不同的证书。

这里的Java解决方案看起来非常有前途。我尝试在Groovy中使用JSR223预处理器。第一行失败。它无法导入标准Java类。

2017-11-08 16:02:39,139 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, JSR223 PreProcessor
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script37.groovy: 1: unable to resolve class java.security.Keystore
 @ line 1, column 1.
   import java.security.Keystore;

使用标准Java类需要做什么?

整个想法是基于SoapUI中使用的解决方案。

import com.eviware.soapui.settings.SSLSettings
import com.eviware.soapui.model.settings.Settings
import com.eviware.soapui.SoapUI
Settings settings = SoapUI.getSettings()
settings.setString(SSLSettings.KEYSTORE, "../certificates/foo.p12")
settings.setString(SSLSettings.KEYSTORE_PASSWORD , "bar")
settings.reloadSettings()

像这样的东西在JMeter中工作吗?哪个客户端用于发送HTTP采样器?

共有1个答案

岑毅庵
2023-03-14

这些不是“标准Java类”,它看起来像来自SoapUI的东西

你需要有这些com。eviware。索皮* JMeter类路径下的类,以使其工作。一旦你添加了必要的。需要重新启动jars JMeter才能拾取它们。然而,我怀疑你能否使用这个com。eviware。索皮。模型设置。设置JMeter测试中的类实例。

配置JMeter使用客户端证书有一个更简单的方法:只需将下一行添加到system.properties文件中:

javax.net.ssl.keyStoreType=pkcs12    
javax.net.ssl.keyStore=../certificates/foo.p12
javax.net.ssl.keyStorePassword=bar

或者通过-D命令行参数将它们传递给JMeter启动脚本,如:

jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=../certificates/foo.p12 -Djavax.net.ssl.keyStorePassword=bar -n -t test.jmx -l result.jtl

有关该方法的更多详细信息,请参阅如何将JMeter负载测试设置为使用客户端证书一文。

 类似资料:
  • 问题内容: 我想使用groovy脚本从Maven执行jmeter测试,但出现以下错误。为了设置jmeter和maven,我做了这里描述的操作。 我是否应该将groovy函数和实体打包到jar中,然后复制到jmeter的lib目录中,然后仅将那些groovy脚本放在包含采样器代码的jmx文件旁边? 问题答案: 我找到了答案: 我需要将要在测试中使用的库打包到jar中,并将其放入目录中 我必须对齐Sa

  • 我在JMeter中有一个Config元素,特别是用户定义的变量。 我有变量用户与值贾斯汀,我怎么能在groovy代码(一个JSR223断言)中使用这个变量?

  • 您好,我正在尝试使用Apache Commons Math的标准偏差库。我无法导入该库,因为我在下载zip后找不到jar文件。我是否遗漏了太明显的内容?

  • 路径似乎是正确的,文件存在,我检查了它的尾随/前导空白。 我错过了什么?

  • 下面的代码从excel文件中打印内容(在eclipse中尝试过),但我无法使用Groovy在Jmeter3.1中运行它。 我抛出了一个错误: JSR223脚本中的问题JSR223采样器,消息:javax.script.脚本异常:org.codehaus.groovy.control.多重编译错误异常:启动失败 这是我的代码:

  • 本文向大家介绍groovy 在Java项目上使用Groovy,包括了groovy 在Java项目上使用Groovy的使用技巧和注意事项,需要的朋友参考一下 示例 Groovy可以访问所有Java类,实际上Groovy类是Java类,可以直接由JVM运行。如果您正在从事Java项目,那么使用Groovy作为一种简单的脚本语言来与Java代码进行交互就变得很容易了。 为了使事情变得更好,几乎所有Jav