JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server

通常,编程工具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

至此,此文顺利完结,希望此文能够给初学 JMeter 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

Save

时间: 2024-10-26 04:32:43

JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server的相关文章

JMeter学习笔记--JMeter监听器

监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树.表格.图片加以展示,或者简单地写入某个结果文件之中. 注:不同的监听器通过不同的方式展示服务器响应信息,但它们都将同样的原始数据记录到某个输出文件中(在某个监听器中指定一个输出文件) ”Configure“ 按钮可以被用来配置哪些数据会被写入到结果文件之中,以及结果文件的格式CSV或者XML.与XML文件相比,csv文件占用的磁盘空间要小很多,当采样次数较多时,建议使用csv格式.另外测试人员可以使用简单控制器将一系列

JMeter学习笔记--JMeter执行顺序规则

JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样器按照在测试树种出现的顺序执行.其他测试元件会依据自身的作用域来执行,另外与测试元件所属的类型有关(归属于同一类型的测试元件,会按照他们在测试树中出现的顺序来执行. 测试计划实例如下: Controller post-Processor1 Sampler1 Sampler2 Timer1 Asser

JMeter学习笔记--JMeter属性和变量

JMeter属性统一定义在jmeter.properties文件中.JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值.如属性remote_hosts定义了JMeter在远程模式下运行的服务器地址.属性可以在测试计划中引用,但是不能作为特定线程的变量值 JMeter变量对于测试线程而言是局部变量,这意味着JMeter变量在不同测试线程中,既可以是完成相同的,也可以是不同的,如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值.例如,“正

JMeter学习笔记--JMeter常用测试元件

JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果,这是很有用的.这样做的后果就是这个文件会快速的增大,并且Jmeter的效率会影响. 如果不记录数据到文件,这个选项就没有不同了. 线程组:是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下.其他的测试元件(如监听器)可以被

JMeter学习笔记--JMeter前置处理器

前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来保存会话ID用于替代Cookies的Web应用系统. Session Argument Name:从前一个响应抓起参数名,修改器会从页面中找到该参数,并提取参数值. Path Extension: 一些web应用通过附加一个分好加上会话ID参数来重写URL Do not user equal in

JMeter学习-037-JMeter调试工具之四-BeanShell+jmeter.log

前面三篇文章分别讲述了 HTTP Mirror Server . Debug PostProcessor 和 Debug Samper 的脚本调试实例.此文主要讲述第四种调试方法,通过 BeanShell 脚本结合 jmeter.log 查看响应的变量等信息. BeanShell脚本访问变量主要通过 vars 和 props 去访问,常用主要方法如下: vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量: vars.put(变量名,变量值):生成新的变量或修改已存

Jmeter(7)调试工具---HTTP Mirror Server

之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做什么用的呢? 一.HTTP Mirror Server的作用: 它可以在本地临时搭建一个HTTP服务器,该服务器把接收到的请求原样返回,这样就可以看到发送出的请求的具体内容,以供调试.  二.示例: 1.添加HTTP Mirror Server: 右键点击WorkBench-->Add-->Non

(十一)Jmeter另一种调试工具 HTTP Mirror Server

之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做什么用的呢? 一.HTTP Mirror Server的作用: 它可以在本地临时搭建一个HTTP服务器,该服务器把接收到的请求原样返回,这样就可以看到发送出的请求的具体内容,以供调试.  二.示例: 1.添加HTTP Mirror Server: 右键点击WorkBench-->Add-->Non

Jmeter调试工具---HTTP Mirror Server

转自:http://www.cnblogs.com/puresoul/p/4907655.html 一.HTTP Mirror Server的作用: 它可以在本地临时搭建一个HTTP服务器,该服务器把接收到的请求原样返回,这样就可以看到发送出的请求的具体内容,以供调试.  二.示例: 1.添加HTTP Mirror Server: 右键点击WorkBench-->Add-->Non-Test Elements-->HTTP Mirror Server ,点击[Start]启动 2.发送请