jmeter组件---前置处理器

一,前置处理器简介

处理一些请求前的准备工作,比如参数设置,环境变量设置等。前置处理器用于修饰其范围内的取样器。

二,相关组件简介

1、用户参数

允许用户指定特定于各个线程的用户变量的值
用户可以利用此元件进行参数设置,在取样器中进行参数化。
用户变量也可以在测试计划中指定,但不是特定于各个线程。此面板允许您为任何用户变量指定一系列值。对于每个线程,将根据序列中的一个值为变量分配一个值。如果线程数多于值,则重新使用这些值。例如,这可以用于分配每个线程使用的不同用户ID。用户变量可以在任何JMeter组件的任何字段中引用。
在这里插入图片描述

2、JDBC PreProcessor

JDBC预处理程序使您可以在样本运行之前运行一些SQL语句。如果JDBC样本需要某些数据位于数据库中,并且无法在初始化线程组中计算此数据,则此选项非常有用。
在这里插入图片描述JDBC 系列

3、RegEx User Parameters

正则表达式用户参数,允许使用正则表达式从一个HTTP请求中提取指定动态值并传递到另一个HTTP参数。正则表达式用户参数特定于各个线程。

此组件允许您指定提取HTTP请求参数的名称和值的正则表达式的引用名称。必须为参数名称和参数值指定正则表达式组编号。仅对使用此名称匹配的正则表达式用户参数的取样器中的参数进行替换。
在这里插入图片描述

  • Regular Expression Reference Name :正则表达式的引用名称 是
  • Parameter names regexp group number: 用于提取参数名称的正则表达式的组编号
  • Parameter values regex group number:用于提取参数值的正则表达式的组编号

4、Sample Timeout

取样器超时

如果完成时间过长,此前置处理器会调度计时器任务以中断样本。如果超时为零或为负,则忽略超时。为此,取样器必须实现可中断。已知以下取样器可实现: AJP,BeanShell,FTP,HTTP,Soap,AccessLog,邮件阅读者,JMS订阅,TCP取样器,测试活动,Java取样器

此测试元件适用于连接超时或响应超时等单个超时不足或取样器不支持超时的情况。超时应设置得足够长,以使在正常测试中不会被触发,同时要足够短以使它会能中断被卡住的样本。

【默认情况下,JMeter使用Callable来中断取样器。这与定时器在同一个线程中执行,因此如果中断需要很长时间,则可能会延迟后续超时的处理。这不是一个问题,但如果有必要, 可以将属性InterruptTimer.useRunnable设置为true以使用单独的Runnable线程而不是Callable。
在这里插入图片描述

5、HTML 链接解析器

此修饰器解析来自服务器的HTML响应并提取链接和表单。将检查通过此修饰器的URL测试样本,以查看它是否“匹配”从前一个响应中提取的任何链接或表单。然后,它将使用匹配的链接或表单中的适当值替换URL测试样本中的值。Perl类型的正则表达式可用于查找匹配项。

6、HTTP URL 重写修饰符

此修饰器与HTML链接分析器的工作方式类似,不同之处在于它具有比HTML链接分析器更易于使用的特定目的,并且效率更高。

帮我们重定向URL请求的,重写URL来存储会话id,一般浏览器与服务器之间的会话用Cookie来管理,在Jmeter中就是HTTP Cookie 管理器。但是在实践工作中还有另外一种会话保持方式。
比如系统只允许登录成功的用户才可以访问系统,当用户登录成功后返回一个SessioniD(或者Jsessionid)给用户,后续访问都要求验证这个SessioniD。如果后续的请求都是以Get的方式提交表单,那么SessioniD需要附加在URL链接中,而且每一个Get请求都是如此,这种重复工作,显然是可以用一个操作来完成的,就是该元件。

例子:

下图中Req1以Get方式访问(系统登录)服务器,得到响应Resl中包括SessioniD
,Req2的URL链接中就要带上SessioniD,eg:http://www,testroad.org?search=seling&SessioniD=jfdkjdkf%20jddkfdfjkdjfdf%22

在这里插入图片描述
在这里插入图片描述

7、BeanShell PreProcessor

BeanShell预处理程序,允许在采样之前应用任意代码。

8、JSR223 PreProcessor

JSR223预处理程序,允许在采样之前应用JSR223脚本代码。

9、jp@gc - Inter-Thread Communication PreProcessor

作用是跨线程组传递数据,类似函数_setProperty 和 _property,需要配合后置处理器jp@gc - Inter-Thread Communication PostProcessor来使用。

举个栗子

1)新建一个脚本,两个线程组:
在这里插入图片描述
2)第一个线程组中是提取数据的:

jp@gc - Dummy Sampler这货就是用来模拟数据输入和数据返回的,调试用的,贼方便。写了模拟返回数据:
在这里插入图片描述
正则提取一下:
在这里插入图片描述
添加一个后置这位老哥:jp@gc - Inter-Thread Communication PostProcessor

在这里插入图片描述
3)第二个线程组接收数据:
在这里插入图片描述
在这里插入图片描述
模拟请求中:
在这里插入图片描述
执行一下:
在这里插入图片描述
第二个线程组把第一个线程组中提取的数据调用到了。就是这么用的。

10、jp@gc - Raw Data Source PreProcessor

原始数据源预处理器,参考案例

三,其他组件list

全组件介绍

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值