最近在准备性能测试,有个接口要上传一些信息,其中包括手机号。但手机号又不能重复,所以就想用在运行时实时修改手机号。于是就写了个方法去做。
这里其实要修改两列,就偷了个懒,后8位用一样的,一起修改掉了。
代码比较简单:
package Yq;
import jxl.*;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.*;
import java.io.File;
import java.util.Random;
public class UpdateExcel {
public void update_Exc(String filepath) {
//File f=new File("D:\\work\\Resources\\demos\\insuranceDemo.xls");
File f=new File(filepath);
try {
Workbook wb = Workbook.getWorkbook(f);//
WritableWorkbook book = wb.createWorkbook(f, wb);
// Sheet sheet = wb.getSheet(0); // 获得第一个工作表对象
WritableSheet st = book.getSheet(0);
for (int i = 2; i < st.getRows(); i++) {
StringBuilder str1=new StringBuilder();
for(int num=0; num<8; num++)
{
if(num==0)
str1.append(new Random().nextInt(9)+1);
else
str1.append(new Random().nextInt(10));
}
//修改第三列数据
Cell cel = st.getCell(2,i);
if(cel.getType() == CellType.LABEL){
Label label = new Label(2, i, str1.toString());
st.addCell(label);
}
//修改第六列数据
Cell cel2=st.getCell(5, i);
if(cel2.getType() == CellType.LABEL){
Label label = new Label(5, i, "199"+str1.toString());
// 将手机号填充单元格内
st.addCell(label);
}
}
book.write();
book.close();
wb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
其中jxl.jar为第三方jar包,需要下载。下载后引用到工程中即可。
将工程导出jar包,添加到jmeter中
在jmeter中的BeanShell Sampler中调用方法 。在调用过程中可以会遇到一些问题,可以查看上一篇文章,希望有所帮助。https://blog.csdn.net/tianyueWindbg/article/details/113870747
import Yq.UpdateExcel; //工程package名称.类(class)名
UpdateExcel updateExc = new UpdateExcel();
updateExc.update_Exc("D:\\work\\Resources\\demos\\insuranceDemo.xls");
至于jmeter上传文件,可以参考另一篇文章:https://blog.csdn.net/tianyueWindbg/article/details/113774528