前面39/40节讲了在beanshell写java代码、在beanshell中引用java文件,除了这两种方式外,在beanshell中还可以调用class文件。
将40节中的specialProcess.java文件编译成class文件,在windows命令行使用javac 待编译的文件位置
执行后会在同文件夹下生成一个同名的class文件
在beanshell中调用class文件,通过beanshell的关键字addClassPath
addClassPath("E:/Users/liujundan/desktop/ljd/jmeterscripts/csdn");
通过import导入类名
import specialProcess;
创建类对象sp,调用specialProcess方法,将处理的字符串作为参数传入
specialProcess sp=new specialProcess();
String pd1=sp.specialProcess("${priceDetail_1}");
String pd2=sp.specialProcess("${priceDetail_2}");
完整代码如下:可实现查询时效接口结果存入csv文件
//在beanshell中调用class文件 //通过beanshell的关键字addClassPath addClassPath("E:/Users/liujundan/desktop/ljd/jmeterscripts/csdn"); //import导入类名 import specialProcess; //定义一个写入csv文件的地址 //String filePath1 = "D://xntest//result.csv"; String filePath1 ="${filePath1}"; //创建类对象sp specialProcess sp=new specialProcess(); String pd1=sp.specialProcess("${priceDetail_1}"); String pd2=sp.specialProcess("${priceDetail_2}"); //创建写入对象 FileWriter fw=new FileWriter(filePath1,true); BufferedWriter bw=new BufferedWriter(fw); //读取csv文件字段值,写入result.csv,逗号表示字段间的分隔符,需要用英文逗号 bw.write("${originprovince}"+","); bw.write("${origincity}"+","); bw.write("${origindistrict}"+","); bw.write("${destprovince}"+","); bw.write("${descity}"+","); bw.write("${desdistrict}"+","); //将查询时效的提取值写入 bw.write("${reachTime_1}"+","); //bw.write("${priceDetail_1}"+","); bw.write(pd1+","); bw.write("${reachTime_2}"+","); //最后一个字段写入后需要用换行符n //bw.write("${priceDetail_2}"+"n"); bw.write(pd2+"n"); bw.flush(); fw.close();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)