做接口测试发现postman请求接口返回正常,但是jmeter出现415请求不通:The server refused this
request because the request entity is in a format not supported by the
requested resource for the requested method.
在查看结果树中看到:
Request Headers:
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
User-Agent: Jakarta Commons-HttpClient/3.1
这里的Content-Type: application/x-www-form-urlencoded方式是Jquery的Ajax请求默认方式,这有可能导致向服务器发送数据不成功;因为http服务发送的post请求认是json数据格式所以数据接收不到;
在HTTP信息头管理器将Content-Type修改为:application/json告诉服务器请求的主题内容是json格式的字符串,服务器端会对json字符串进行解析;
在进行接口测试的时候,很多时候需要将上一个请求的结果作为下一个请求的参数带入其中,比如说登录后的token。jmeter中,有两种方法可以实现此功能:
针对返回格式为json的,推荐使用json path 提取器。
首先新建一个线程组,然后分别添加两个http request sample
这里看到第一个request 用于获取token,第二获取用户列表request 便用到了第一个request 返回的token。
这里将token放在请求头里,所以需要添加一个http header manager sample 。
由于后面的请求都需要使用token进行访问,所以将请求头放在后续请求的前面,这样就不需要针对每个请求都添加一个http header manager sample了,这里可以参考 元件作用域
右击需要进行提取的请求添加json path 提取器
添加成功后后如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)