[英]JMeter: Generate value for custom Header with a java class
我尝试测试我们的具有请求限制器的api的性能(100秒内发生100次重击,否则IP被阻止)。 您可以使用自定义标题避免这种情况。 此标头的值由Java类生成。
使用jruby,我也可以使用“ require”和“ import”使用类。
我如何为JMeter做到这一点?
其他信息:标头值是动态的->对于必须生成的每个请求。 要调用HttpPwd.genPwd(),需要两个* .jar文件
这是如何进行:
将2个罐子放在jmeter / lib文件夹中
将groovy-all.jar放入jmeter / lib
使用JSR223预处理器+ Groovy
将以下代码放入预处理器中:
进口xxxxxx; //其中xxxx是HttpPwd类的全名
vars.put(“ header”,HttpPwd.genPwd());
HeaderName(我不知道它是什么):$ {header}
在您的JMeter项目中,导航到Thread Group
> HTTP Request
。 您可以在那里设置请求参数。
这是通过JMeter __Beanshell函数实现此方法的方法
假设您具有以下用于生成自定义标头的逻辑:
package custom.header;
public class HttpPwd {
public static String getPwd() {
return String.valueOf(System.currentTimeMillis());
}
}
可从一个名为“ customheader.jar”的罐子中进行访问
并且您想在请求中添加一个名为“ MyHeader”的标头
您应该看到类似以下内容:
GET http://www.google.com/?q=test
[no cookies]
Request Headers:
Connection: keep-alive
MyHeader: 1382360571781
Host: www.google.com
User-Agent: Apache-HttpClient/4.2.3 (java 1.5)
提及MyHeader的存在和价值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.