性能工具之 JMeter 常用组件介绍(六)

举报
zuozewei 发表于 2024/08/15 14:42:40 2024/08/15
【摘要】 性能工具之 JMeter 常用组件介绍(六)

本文主要介绍JMeter主流前置处理器的功能

一、Jmeter前置处理器

1、前置处理器Pre Processors

用于对于采集器进行处理,且是在sampler启动之前
在这里插入图片描述

2、JSR223 PreProcessor

在这里插入图片描述
参数配置:

  • Name:名称,随意设定;
  • Language:使用的JSR223语言,可根据需要选择;
  • Parameters:传递给脚本的参数;
  • Script file:脚本文件;
  • Script compilation caching:存储编译的脚本,默认勾选;
  • Script:要运行的脚本;

3、User Parameters

用户参数,用于做几组参数给线程组的各个线程使用,如果线程数多于用户参数组数,则多出来的线程则从第一组用户参数开始依次调用参数组;
在这里插入图片描述
参数配置:

  • Name:此前置处理器的名称;
  • Update Once Per Iteration:标识是否每轮迭代更新一次元素;

4、HTML Link Parser

此处理器为HTML链接解析器,用于从前一个sampler返回的html页面中按照规则解析链接和表单,再根据此处理器所在的sampler中的规则进行匹配修改,而后该sampler会执行;
在这里插入图片描述

5、HTTP URL Re-writing Modifier

HTTP URL重写修改器,此处理器与HTTP Link Parser类似,但专用于使用url重写来存储sessionId而非cookie的http request,在线程组级别添加此修改器则应用于所有sample,若为单个sample添加则只适用该sample;
在这里插入图片描述

参数配置:

  • Session Argument Name:会话参数名称,用于搜索sessionId,其他sample也可通过此参数来 调用其获取的sessionId;
  • Path Extension:路径扩展,如url添加了分号作为分割,则勾选此项;
  • Do not use equals in path extension:用于url不用等号来分割key和value的类型;
  • Do not use questionmark in path extension:用于不带?的类型;
  • Cache Session Id?:勾选此项则会存储在其挂载的sample上获取到的sessionId供后边的其他sample使用;
  • URL Encode:是否使用url编码;

6、JDBC PreProcessor

数据库预处理器,用于在sample开始前查询数据库并获取一些值;
在这里插入图片描述
在这里插入图片描述
参数配置:

  • Variable Name of Pool declared in JDBC Connection Configuration:连接池名称,需与JDBC链接配置中的Variable Name相同(此预处理器需要一个JDBC Connection Configuration,此配置器在配置元件中);
  • Query Type:数据库查询类型,根据需要自行选择;
  • Query:数据库语句输入框,根据需要输入,注意结尾不要加”;”;
  • Parameter values:参数名称,如果Query的语句中有”?”则此处填值,可以使用调用参数方式;
  • Parameter types:参数类型,与Parameter values对应,设置参数类型,与sql字段类型相同;
  • Variable names:设定此项可以获取固定列的所有值;
  • Result variable name:随意设定一个名称,则此名称会被作为一个参数并对应Query出来的内容;可以使用参数调用的方法来获取此设置的名称对应的值;
  • Query timeout(s):超时时间;
  • Handle ResultSet:有四个选项,结果保存的方式;

7、RegEx User Parameters

正则表达式,使用正则表达式为从另一个HTTP请求中提取的HTTP参数指定动态值
在这里插入图片描述
参数配置:

  • name:此前置处理器名称;
  • Regular Expression Reference Name:调用的正则表达式提取器中的引用名称;
  • Parameter names regexp group number:用于提取参数名称的正则表达式的组编号;
  • Parameter values regex group number:用于提取参数值的正则表达式的组编号;

8、Sample Timeout

超时器,用于设定sample的超时时间,如果完成时间过长,此预处理器会调度计时器任务以中断样本;
在这里插入图片描述
参数配置:

  • name:超时器名称;
  • Sample timeout:超时时间;

9、BeanShell PreProcessor

在这里插入图片描述
参数配置:

  • Name:名称,随意设定;
  • Language:使用的JSR223语言,可根据需要选择;
  • Parameters:传递给脚本的参数;
  • Script file:脚本文件;
  • Script compilation caching:存储编译的脚本,默认勾选;
  • Script:要运行的脚本;

二、综合脚本小练习

一、在造数据时候,需要获取结果到保存到本地

有两种方式:第一种直接通过获取结果保存到本地,第二种通过数据库导出

今天介绍第一种,通过jmeter中正则表达式获取:

步骤一:
在这里插入图片描述

第二步:
在这里插入图片描述

第三步:
在这里插入图片描述

参考代码:

FileOutputStream fps=new FileOutputStream("${outfile_online}",true);
OutputStreamWriter osw=new OutputStreamWriter(fps);
BufferedWriter bw=new BufferedWriter(osw);

bw.append("${mobile}\t${User}\t${User}\t${fd}\n");

if(bw!=null){bw.close();}
if(osw!=null){osw.close();}
if(fps!=null){fps.close();}

第四步:

在这里插入图片描述
获取结果:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。