性能工具之 JMeter 常用组件介绍(六)
【摘要】 性能工具之 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)