在很多公司由于各种防火墙政策以及服务器本身的限制, 无法直接使用Jmeter对接口进行测试, 需要使用cURL语句在服务器环境进行接口测试, 但是Jmeter没有将测试用例转换成cURL语句的插件.
可以在Jmeter的线程中增加一个BeanShell PreProcessor, 然后添加如下代码, 然后运行测试用例, 即可在Log中输入相应请求的cURL语句. 有需要的亲们可以试试.
sampler = ctx.getCurrentSampler();
curlStr = "\n---------------" + sampler.getName() + "生成的cUrl语句如下:---------------\n\n curl -v ";
method = sampler.getMethod();
if ("POST".equals(method)) {
curlStr += " -X POST ";
}
url = sampler.getUrl();
headManager = sampler.getHeaderManager();
headerCount = headManager.size();
curlStr += url;
i = 0;
while(i <headerCount) {
headerName = headManager.getHeader(i).getName();
headerValue = headManager.getHeader(i).getValue();
i++;
curlStr += " -H \"" + headerName + ":" + headerValue + "\" ";
}
if ("POST".equals(method)) {
args = sampler.getArguments();
argValue = args.getArgument(0).getValue();
curlStr += "-d \'" + argValue + "\'";
}
log.info("\n" + curlStr + "\n\n----------------------------------------\n");
因篇幅问题不能全部显示,请点此查看更多更全内容