#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();
    }
}


↙↙↙阅读原文可查看相关链接,并与作者交流