#Jmeter 使用 BeanShell 引用外部 jar 包
1,在测试计划的 ClassPath 中选取本地 jar 包;
2,在线程组中添加 BeanShell 取样器
3,在 BeanShell 取样器中编写脚本
代码释义:
引入外部 jar 包中的类,并将运行的结果写入本地文件中
import cn.xxx.xxx.frame.utils.SnowFlake;
import java.io.BufferedWriter;
import java.io.FileWriter;
long qid = SnowFlake.nextNumber();
System.out.println(qid);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("/Users/xxx/Desktop/qid.csv",true));
String idstr = qid.toString();
writer.write(idstr);
writer.newLine();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
读取本地文件中导出的内容,判断是否有重复的 id,并将重复的 id 输出。
public static void checkQId(){
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader("/Users/xxx/Desktop/qid.csv"));
Set<String> all = new HashSet<>();
List<String> repeat = new LinkedList<>();
Stream<String> lines = bufferedReader.lines();
lines.forEach(p -> {
int sizeFirst = all.size();
all.add(p);
int sizeSecond = all.size();
if(sizeSecond == sizeFirst){
repeat.add(p);
}
});
System.out.println(repeat);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}