有些HTTPS请求报文的报文体中包含由客户端生成的UUID,在用Jmeter做接口自动化测试的时候,因为越过了客户端,直接向服务器端发送报文,所以,需要在Jmeter中通过beanshell获取UUID,并能将参数传递给Jmeter,之后就可以用${PrameterName}对参数进行引用。
import java.util.UUID;
UUID uuid1 = UUID.randomUUID();
UUID uuid2 = UUID.randomUUID();
UUID uuid3 = UUID.randomUUID();
vars.put("PortfolioID",(uuid1.toString()).toUpperCase());
vars.put("AccountID",(uuid2.toString()).toUpperCase());
vars.put("CompanyID",(uuid3.toString()).toUpperCase());
备注:
1、通过vars.put(PrameterName,PrameterValue)将参数传递给Jmeter
2、PrameterName,PrameterValue都必须是字符串,所以,需要将UUID先转换为字符串:toString()
3、由于我测试的HTTPS请求报文参数的值是大写的,所以通过toUpperCase()将字符串转换为大写的