JMeter接口测试中java脚本获取请求头信息及请求时必填字段的值

代码块截图:

代码块如下:

注意:1.JMeter中的后台输出使用:log.info();

2.自己写的脚本提前需要将自己编写的java脚本类文件打成jar包,然后在放在步骤3的路径下面

3.把脚本需要的jar包放在自己安装JMeter的路径, \jmeter\lib\ext 下面,然后本地重新启动jmeter即生效

import org.apache.jmeter.protocol.http.control.HeaderManager;
import org.apache.jmeter.protocol.http.control.Header;
import org.apache.jmeter.protocol.http.sampler;
import java.util.*;

//sampler 里面有个getHeaderManager 可以获得请求头
HeaderManager headers = sampler.getHeaderManager();
// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

sampler.getHeaderManager().removeHeaderNamed("sign");  
sampler.getHeaderManager().removeHeaderNamed("timestamp"); 
// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

//签名拿到的sign值
Map newSignMap = new HashMap();

//***第二个参数每个接口需要更新自己接口采集器的路径
newSignMap = TestSign.getSoulAppSignTest("4030F12A04CF46B7A031A981074FE24C","/capi/customer/smsCode"); 
String newSign = newSignMap.get("key");
log.info(newSign);
String soultimestamp = newSignMap.get("timestamp");
log.info(soultimestamp);
// new 一个Header对象
signHeader = new Header("sign",newSign);
// 添加 Header 到请求头管理器
headers.add(signHeader);
// new 一个Header对象
timestampHeader = new Header("timestamp",soultimestamp);
// 添加 Header 到请求头管理器
headers.add(timestampHeader);
// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());


版权声明:本文为weixin_36886116原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。