有时候需要在BeanShell PostProcessor中,对接口响应进行一些判断或处理,这时就需要用到Jmeter的prev对象来做一些操作。
- prev 在JMeter中是一个对象,它代表了前一次采样结果的各种信息,可以通过它获取前一次采样结果的响应时间、响应码、响应内容等等
- prev对象 属于SampleResult类,映射的是org.apache.jmeter.samplers.SampleResult
- prev 用于后置处理器、断言
其常用的一些方法有:
String requestHeaders= prev.getRequestHeaders(); //获取请求头
String urlString= prev.getUrlAsString(); //获取URL
String responseCode= prev.getResponseCode(); //获取响应码
String responseHeaders= prev.getResponseHeaders(); //获取响应头
String contentType= prev.getContentType(); //获取响应体类型
String dataType= prev.getDataType(); //获取DataType
String mediaType= prev.getMediaType(); //获取Content Type中的media type
byte[] responseData=prev.getResponseData(); //获取响应体的字节流
String responseDataString=prev.getResponseDataAsString(); //获取响应体字符串
String samplerData= prev.getSamplerData(); //获取请求内容
1、关于 Data Type、Content Type、MediaType的说明
Content-Type是HTTP协议中的一个头部字段,用于标识请求或响应中所携带的实体的类型。
它由两部分组成,分别是媒体类型(Media Type)和字符集(Charset):
- 媒体类型:用于描述当前实体的类型。常用的媒体类型包括text、image、audio、video等,具体的可以参考IANA的媒体类型注册表。
- 字符集:用于描述当前实体所使用的字符编码。常用的字符集有UTF-8、GB2312、ISO-8859-1等。
2、关于 SamplerData的说明:
SamplerData对应结果中Request Body中的整个内容
> 更多的信息,如增加或设置相关内容,可以查看Jmeter的官方在线文档:
SampleResult (Apache JMeter dist API)
> 或者查看本地Jmeter安装目录下的docs\api的接口文档