目录
1.下载jxl.jar包,并将其放在Jmeter的\lib\ext目录下
1.新建一个Java Project-->CWResultFile
3. 将工程文件打成jar包:CWResultFile.jar,将导出的包放到Jmeter安装目录下的lib-->ext目录下
9.使用beanshell将测试结果写入excel测试结果文件中
一、如何利用Jmter操作excel的思路分析
Excel中一般有三个要素:workbook、sheet、cell,要想把结果存储到指定的单元格,那就必须依照这三个元素来定位。
先获取excel的文件名称
获取表单名
获取单元格的坐标
获取结果,写入到对应的单元格去
需要使用Jmeter取样器beanshell写java代码,获取对应的数据写入到Excel里面去。
二、准备写入excel的java编码环境
如下文件如有需要,请关注博客并私信
1.下载jxl.jar包,并将其放在Jmeter的\lib\ext目录下
2.安装java的JDk 以及IntelliJ IDEA
IDEA需要破解,否则只能免费试用1个月
三、.编写写入excel的jar包代码
1.新建一个Java Project-->CWResultFile
打开对话框 ,默认java,点击next
进入下一步,勾选,点击next
录入项目名、报名、以及项目路径
完成即可,录入以下代码,请关注博客,点赞,感谢
package com.company; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import jxl.Cell; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Colour; import jxl.format.VerticalAlignment; import jxl.read.biff.BiffException; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; public class CWOutputFile { /* * wOutputFile方法写结果文件 * wOutputFile(文件路径,用例编号,测试验证点,测试数据,预期结果,实际结果) */ public void wOutputFile(String filepath, String caseNo, String testPoint, String testData, String preResult, String fresult) throws WriteException, BiffException, IOException { File output = new File(filepath); String result = ""; InputStream instream = new FileInputStream(filepath); Workbook readwb = Workbook.getWorkbook(instream); // 根据文件创建一个操作对象 WritableWorkbook wbook = Workbook.createWorkbook(output, readwb); WritableSheet readsheet = wbook.getSheet(0); // int rsColumns = readsheet.getColumns(); //获取Sheet表中所包含的总列数 // 获取Sheet表中所包含的总行数 int rsRows = readsheet.getRows(); // System.out.println(rsRows); /******************************** 字体样式设置 ****************************/ // 字体样式 WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.NO_BOLD); WritableCellFormat wcf = new WritableCellFormat(font); /***********************************************************************/ Cell cell1 = readsheet.getCell(0, rsRows); if (cell1.getContents().equals("")) { Label labetest1 = new Label(0, rsRows, caseNo); // 第1列--用例编号; Label labetest2 = new Label(1, rsRows, testPoint); // 第2列--用例标题; Label labetest3 = new Label(2, rsRows, testData); // 第3列--测试数据; Label labetest4 = new Label(3, rsRows, preResult); // 第4列--预期结果; Label labetest5 = new Label(4, rsRows, fresult); // 第5列--实际结果; // 两个值同时相等才会显示通过 if (preRe