JMeter中的处理器:预处理器和后处理器

处理器用于修改其作用域中的采样器。

  1. 预处理器
  2. 后处理器

预处理器:

预处理器在发出采样器求之前执行一些操作。 考虑一个简单的示例:假设希望JMeter“爬行”被测试的网站,解析 link(check all links on the page) 并返回Html。在创建HTTP求之前,需要向控制器添加一些操作,如“HTML链接解析器”。

How to use Processor in JMeter
How to use Processor in JMeter

后处理器:

后处理器在发出采样器求后执行一些操作。 考虑一个简单的示例:JMeter向被测试的Web服务器(等www.google.com)发送一个HTTP求并获得响应。希望JMeter停止测试服务,可以使用后处理器完成上述任务,如下所示:

How to use Processor in JMeter
How to use Processor in JMeter

后处理器示例

本教程将逐步向介绍如何在JMeter中使用后处理器。让我们从简单的测试脚本开始。

  1. JMeter向被测Web服务器www.google.com发送HTTP求。
  2. JMeter从Google服务器获得响应。
  3. 如果服务器响应出错,JMeter将停止测试。
  4. 如果服务器响应正常(没有错误),JMeter将继续测试。

以下是此示例的路线图:

How to use Processor in JMeter
How to use Processor in JMeter

前提条件: 我们在文章JMeter性能测试中重用了步骤1和步骤2。

步骤1) 添加线程组

右键单击“测试计划”并添加一个新的线程组:“添加”->“线程(用户)”->“线程组” 但在线程组控制面板中,按如下方式输入线程属性:

How to use Processor in JMeter
How to use Processor in JMeter

该设置允许JMeter向http://www.baidu.com创建10次用户求10次。

步骤2) 添加JMeter元素

  • 添加HTTP请求默认值
  • 添加HTTP请求

我们仍然让jeter向baidu服务器发送求http://www.baidu.com。

步骤3) 添加后处理器元素

右键单击线程组->添加->后处理器->结果状态操作处理程序 结果状态操作处理程序允许用户在用户求失败时停止线程或整个测试。

How to use Processor in JMeter
How to use Processor in JMeter

在结果状态操作处理窗格中,选择立即停止测试。如果JMeter从服务器响应中获得错误,则此选择将停止测试。

How to use Processor in JMeter
How to use Processor in JMeter

步骤4) 配置HTTP求

打开HTTP求面板。在路径字段中输入“abc”。

How to use Processor in JMeter
How to use Processor in JMeter

当在路径中输入“abc”时,JMeter将创建一个指向baidu server:http://www.baidu.com/abc.的URL求这是错误的URL求,因此Google服务器将返回错误。

步骤5) 添加查看结果树

右键单击线程组->添加->监听器->查看结果树

How to use Processor in JMeter
How to use Processor in JMeter

步骤6) 运行测试

选择查看结果树,按菜单栏上的运行按钮。将看到来自baidu服务器的错误响应,并且测试将在未完成100个线程的情况下停止。

How to use Processor in JMeter
How to use Processor in JMeter

现在返回到步骤4,打开HTTP求窗格,在窗格中输入“日历”。它使JMeter创建指向谷歌服务器的URL求https://calendar.baidu.com/calendar/u/0/r。这是正确的URL求,因此baidu服务器将返回OK(没有错误)。

How to use Processor in JMeter
How to use Processor in JMeter

选择查看结果树,按菜单栏上的运行按钮。将看到来自baidu服务器的OK响应,测试将继续进行,直到所有100个线程都完成。

How to use Processor in JMeter
How to use Processor in JMeter

故障排除:

如果在运行上述方案时遇到此问题.执行以下操作:

  1. 检查是否通过代理连接到Internet。如果是,删除代理。
  2. 打开一个新的Jeter实例
  3. 在Jeter中打开ProcessorTestPlan.jmx
  4. 双击线程组->查看结果树
  5. 运行测试

IT赶路人

专注IT知识分享