0
点赞
收藏
分享

微信扫一扫

JMeter 系列7——Pre Processors预处理器

SDKB英文 2022-01-20 阅读 53

一、预处理器可以修改范围内的Samplers 

  • 18.7 Pre Processors
    • HTML Link Parser
    • HTTP URL Re-writing Modifier
    • User Parameters
    • BeanShell PreProcessor
    • JSR223 PreProcessor
    • JDBC PreProcessor
    • RegEx User Parameters
    • Sample Timeout

二、HTML Link Parser

HTML Link Parser解析服务器上一个响应中的链接和表单,然后根据包含HTML Link Parser的sample中的perl正则表达式,在匹配的链接和表单中选择合适的值,替换包含正则表达式。

可以使用正则表达式的位置是protocol、host、path、parameters names。使用parameters时,parameters names需要出现在上一个响应中。

三、HTTP URL Re-writing Modifier

程序界运粮官的博客_CSDN博客-android,java,app自动化领域博主

功能和HTML Link Parser相似,更简单和高效,使用范围可以是线程组级别。对于一些使用URL Re-writing来保存session id的web应用,HTTP URL Re-writing Modifier的作用和HTTP Cookie Manager类似,只需要提供session id的参数名,就可以在页面中找到参数值,然后添加到线程组中的每个请求中。

Session Argument Name:需要从上个请求查找的参数名,HTTP URL Re-writing Modifier会在整个页面中查找参数名,不管是超链接还是表单,然后把找到的值赋给参数名。

四、User Parameters

User Parameters可以指定各个线程的用户变量值。User Parameters除了用在线程组,也可以用在测试计划。

对每个线程来说,User Parameters会从变量值池中按顺序选择值赋给变量。如果线程数大于变量值个数,变量值会被复用。

变量值以${variable}的方式在User Parameters试用范围的任何组件中被引用。

当需要使用大量用户参数时,CSV Data Set Config 比User Parameters更适合。

五、RegEx User Parameters


 

RegEx User Parameters可以为HTTP parameters指定从其他HTTP Request正则表达式提取的动态值。RegEx User Parameters也可以指定各个线程的用户变量值。

程序界运粮官的博客_CSDN博客-android,java,app自动化领域博主

示例:

假如请求1返回3个输入参数,我们需要提取第2个输入参数放到请求2中:

1、为请求1创建Post Processor Regular Expression

refName正则表达式名称,如listParams

regular expression提取参数名称和值的正则表达式,如input name="([^"]+?)" value="([^"]+?)"

template空

match nr -1可以迭代所有的匹配

2、为请求2创建Pre Processor RegEx User Parameters

refName和请求1中的正则表达式名称一样,此处是listParams

parameter names group number选择正则表达式匹配出的参数名编号,此处是1

parameter values group number选择正则表达式匹配出的参数值编号,此处是2

六、Sample Timeout

Sample Timeout安排定时任务中断超时的sample,忽略0值和负值。实现Interruptible的sample可以支持被Sample Timeout中断:

AJP, BeanShell, FTP, HTTP, Soap, AccessLog, MailReader, JMS Subscriber, TCPSampler, TestAction, JavaSampler。

Sample Timeout用来补充Connection Timeout和Response Timeout,或者Sampler不支持timeout。Sample Timeout需要设定合适的超时时间,足够长避免中断正常测试,足够短可以中断卡住的sample。

举报

相关推荐

0 条评论