如何在jmeter中创建和调用自定义函数

时间:2013-05-20 17:27:13

标签: java jmeter load-testing performance-testing

我正在使用JMeter进行负载测试,我创建1000个线程,每个线程发送一个http请求,如下所示:

{"email" : "test${__threadNum}@test.com"}

工作正常,现在我需要添加更复杂的场景。我需要传递使用自定义加密方法加密的电子邮件。

something like:  {"email" : MyCustomClass.encypt("test${__threadNum}@test.com")}

有没有办法从JMeter调用自定义java类。

2 个答案:

答案 0 :(得分:1)

我找到的最佳解决方案是编辑文件BeanShellFunction.bshrc并在那里添加java方法,

String encryptSession(String email) {
    // TODO encrypt session!
    return new String(email);
}

然后将其添加到http请求正文:

${__BeanShell(encryptSession("test${__threadNum}@test.com"))}}

答案 1 :(得分:0)

您可以使用JSR 223采样器或预处理器,并使用Groovy作为基础语言。 为此,在jmeter / lib文件夹中添加groovy-all.jar。

如果你想使用你现有的jar,也可以把它放在jmeter / lib中。