jmeter—— 提取内容到文件
一、目的
在jmeter使用的时候有时我们会需要把一些接口的指定内容输出到本地用于其他线程组、脚本中调用。
二、实现方式
主要是两个步骤
1、提取接口数据
对于jmeter来说,它本身就提供用于提取接口数据的方法我们直接调用就行,常用的有【后置处理器】:
1、JSON提取器:
因为响应结果大多是json形式,我们就可以直接使用json参数值进行提取,更加精确,表达式格式
.$最外层参数名.下一级参数名
这里推荐一个大佬的详细讲解:[json提取器](https://www.cnblogs.com/whitewasher/p/9504728.html)
2、正则表达式提取器
正则提取是根据正则表达式来获取需要的内容,更加随意,表达式
左侧数据(.*?)右侧数据,建议左右边数据用固定的内容,
()代表需要匹配的内容,
.代表匹配任意字符
*代表匹配符合条件的多个数据(此处可以用+表示匹配一个或多个)
?代表非贪婪方式获取
3、边界提取器
边界提取使其和正则很相似,只需要设置做边界和右边界,就行
2、把提取出的内容输出到本地文件
这里推荐使用BeanShell 取样器,然后把提取的内容脚本数据到本地文件
import java.io.FileWriter;
import java.io.IOException;
//指定需要写入到哪个文件,格式:TXT,csv
FileWriter file = new FileWriter("C:\\Users\\Account\\Desktop\\zuixingjiaoben\\user_id.txt",true);
//创建一个字符缓存输出流
BufferedWriter out = new BufferedWriter(file);
//vars.get:获取 jmeter 中的变量值
//
out.write(vars.get("userId")+"\n");
//关闭写数据流
out.close();
//关闭文件
//
file.close();
至于输出之后用来干嘛,根据实际使用场景来决定。
三、实现步骤
1、添加提取器获取内容
2、添加BeanShell 取样器把指定内容输出