jemeter复习整理(3) 正则表达式/BeanShell

时间:2024-03-13 15:30:30

1.正则表达式提取器

右击相关菜单--添加-后置处理器-正则表达式提取器(提取sessionid)

jemeter复习整理(3) 正则表达式/BeanShell

jemeter复习整理(3) 正则表达式/BeanShell

参数

apply to: 应用范围

Main sample and sub-samples: 作用于父节点及子节点取样器

Main sample only: 仅作用于父节点取样器

Sub-samples only: 仅作用于子节点取样器

JMeter Variable Name to use: 作用于变量(输入框内可输入变量名称)

 

要检查的响应字段: 样本数据源.

主体: 接口响应主体内容, 默认选择此项

Body(unescaped):主体, 响应的主体内容且替换了所有的html转义符, 注意html转义符处理时不考虑上下文, 因此可能有不正确的转换, 不太建议使用

Body as a Document: 从不同类型的文件中提取文本

信息头: 响应头的所有内容

Request Headers: 请求头的所有内容

url: 对url进行匹配

响应代码: http响应代码, 如101,200,302,404,501等

响应信息: http响应代码对应的响应信息, 例如: OK, Found(HTTP/1.1 200 Ok;HTTP/1.1 302 Found

 

引用名称: 其他地方引用时的变量名称,名称写test,使用时写${test}

正则表达式: 数据提取器,一般简单的通用语法就是: 左边界(.*?)右边界

模板: 表明匹配哪个或哪些, 若模板为$0$, 则为整个表达式匹配到的内容; 若模板为: $1$, 则对应正则表达式中的第一个括号所匹配的内容; 若模板为: $2$, 则对应正则表达式中的第二个括号所匹配的内容

匹配数字: 正则表达式匹配数据的所有结果可以看做一个数组, 匹配数字即可看做是数组的第几个元素。负数表示全部, 0随机, 1第一个, 2第二个, 以此类推。

缺省值: 匹配失败时的默认值。可以不写。若需用于后续逻辑判断, 可简单写为 ERROR。

 

2.BeanShell

BeanShell是一个小型的java源代码解释器,具有对象脚本语言特性.它符合java言语规范,并且拥有自己的一些语法;

BeanShell组件:定时器(BeanShell Timer), 前置处理器(BeanShell PreProcessor), 采样器(BeanShell Sampler), 后置处理器(BeanShell PostProcessor), 断言(BeanShell Assert), 监听器(BeanShell Listener)

 

BeanShell 后置处理程序

右击相关菜单--添加-后置处理器-正则表达式提取器(sessionid设置为全局变量)

//${__setProperty(变量名,值} 全局变量赋值

添加全局变量:  ${__setProperty(sessionid,${sessionid})}

jemeter复习整理(3) 正则表达式/BeanShell

jemeter复习整理(3) 正则表达式/BeanShell

jemeter复习整理(3) 正则表达式/BeanShell

BeanShell其它常用方法

log: 写入信息到jmeber.log文件, 使用方法: log.info(“This is log info!”);

vars (JMeterVariables): 操作jmeter变量:

a) vars.get(String key): 从jmeter中获得变量值

b) vars.put(String key, String value): 数据存到jmeter变量中

jemeter复习整理(3) 正则表达式/BeanShell

props (JMeterProperties - class java.util.Properties): 操作jmeter属性

a) props.get("属性名"); //属性名在文件jmeter.properties中定义

b) props.put("PROP1","1234");

prev - (SampleResult): 获取前面的sample返回的信息, 常用方法:

a) getResponseDataAsString(): 获取响应信息

b) getResponseCode() : 获取响应code