我有一个关于使用Apach JMeter的问题。
我们的项目是,安卓应用程序使用“Apache HttpClient”和其“GzipCompressingEntity”类将JSON数据以“Gzip压缩”的方式发送到API服务器。
为了对API服务器进行性能测试,我尝试使用JMeter的代理(="HTTP(S) Test Script Recorder")记录请求。但是记录下来的请求体为空。
我想要做的是从Apache JMeter向服务器发送“Gziped HTTP 请求数据”。是否有任何方法实现这一点?
以下是我们安卓应用程序请求头的示例。
POST /api/test HTTP/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Content-Encoding: gzip
Host: 192.168.11.11:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.5)
Accept-Encoding: gzip,deflate
RequestBody是压缩的二进制数据。
我的操作如下:
- 在JMeter上运行“HTTP(S)测试脚本记录器(代理服务器)”。
- 设置Android的http代理以使用该代理服务器。
- 执行HTTP客户端的Android测试代码(post数据通过Gzip压缩)。
然后,该测试代码以失败结束(服务器没有响应)。
如果直接访问(不使用JMeter的代理服务器),则该测试成功。 我可以像这样从JMeter发送压缩的请求数据吗?