通常,编程工具IDE都提供了相应的调试模块,供开发者使用,以便更快速的定位问题所在。那么在JMeter编写测试脚本的过程中,JMeter都提供了哪些调试工具供我们使用呢?
JMeter常用的调试工具有如下五种:
1、View Tree:查看结果树。含请求信息、响应信息等,请求头信息中的cookie信息一般默认不会显示,可通过修改JMeter配置参数进行显示。日常大家用的挺多的,在此不再赘述。
2、HTTP Mirror Server:HTTP镜像服务器。用于查看请求信息。
3、Debug Pre/PostProcessor:用于查看系统中存在变量等信息。
4、Debug Sampler:样本调试工具,含输入输出信息。
5、BeanShell + jmeter.log:组合调试,更加灵活。
本文主要讲述第二种,其余 3、4、5 种方法后续博文会更新推出,谢谢各位! ^_^
通常,大多数人在调试JMeter测试脚本时,会经常性的向测试服务器发送接口测试请求的数据。在初始调试脚本时,通常优先调试脚本的请求信息(入参、请求头信息、Cookie信息等)是否正确无误。那么,针对此种情况,我们如何不向测试服务发送数据呢?通常的做法是,开启fiddler,将我们的样本请求代理到fiddler进行拦截,查看相应的样本请求信息是否正确。
其实,JMeter 已经为我们提供这样的镜像服务,它就是 HTTP Mirror Server,添加路径:控制台/添加/非测试元件/HTTP Mirror Server。面板如下所示:
- 端口:HTTP Mirror Server镜像服务器监控的端口,默认为 8081,为必填项。
- Max number of Threads:最大的线程数量。若是超出此限制,则进入等待队列。
- Max queue size:在线程池执行样本时的最大请求任务队列数。当线程池正在执行,新接收的请求将被存放在任务队列中。此项仅在最大线程数量大于0时才有效。
【HTTP Mirror Server】作用:类似于本地临时搭建一个HTTP服务器,将其接收到的请求信息原样返回,可以在样本请求的响应结果面板中查看。如此就可以验证发送的样本请求信息是否正确,以供调试测试脚本所用。
为请求样本设置HTTP Cookie管理器,添加Cookie信息,如下所示:
为请求样本设置请求参数和请求头信息如下所示:
配置请求样本代理到HTTP Mirror Server,如下所示:
执行脚本,执行结果如下所示:
官网链接:http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Mirror_Server