1.正则表达式提取器
右击相关菜单--添加-后置处理器-正则表达式提取器(提取sessionid)
参数
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})}
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变量中
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