**

如何使用Jmeter读写Excel文件实现接口自动化

**

首先

你得安装一个最新版的Jmeter。这里就不详述Jmeter的下载安装了。

1、下载解压了Jmeter后,到本站这里点击下载读写excel的工具包和Jmeter脚本范例
或直接访问:

2、解压工具包,把其中的JmeterExcelUtils.jar和org.json.jar这两个jar包放到Jmeter根目录的lib\ext目录下,如apache-jmeter-5.2.1\lib\ext;

jemter 读取 excel jmeter读取excel参数_jemter 读取 excel


3、准备一个EXCEL,格式xls和xlsx都可以,内容如下:

jemter 读取 excel jmeter读取excel参数_测试工具_02

使用Jmeter读取Excel中的测试用例

1、打开Jmeter ,打开工具包zip解压出来的脚本“Jmeter读取excel数据.jmx”,编写脚本中的读取Excel指定行数据,把里面的excel文件路径改为你自己的文件路径。

jemter 读取 excel jmeter读取excel参数_jemter 读取 excel_03

注:目前脚本中指定读取文件第二行(第一行的下标为0)

import yang.ExcelUtilCommon;
import org.json.*;

//实例化ExcelUtilCommon类
ExcelUtilCommon RE= new ExcelUtilCommon();
//调用读取方法,第一个参数为文件的绝对路径,第二个参数为指定读取的行序号(第一行为0)
JSONObject excelData = RE.readExcel("C:\\Users\\51210\\Desktop\\TestCases.xlsx",1);
String message = excelData.getString("msg");
//获取excel第三列的单元格值
String arr =excelData.getJSONObject("datalist").getString("2");
log.info("第三列单元格值为:" + arr);
vars.put("ex_msg",message);
vars.put("ex_arr",arr);
  1. 然后引用读取到的值,放到请求中参数中;
  2. 迫不及待了,马上运行一下脚本,查看有没读取到指定的值;

    是不是很神奇啊^^

使用Jmeter写入Excel中的指定单元格

1、打开Jmeter ,打开工具包zip解压出来的脚本“Jmeter数据写入excel文件.jmx”,编写脚本中的指定写入Excel指定行数据,把里面的excel文件路径改为你自己的文件路径。这里我以beanshell断言为例,接口测试断言后,写入测试结果到excel中;

import yang.ExcelUtilCommon;
import org.json.*;

try{
//实例化ExcelUtilCommon类
ExcelUtilCommon RE= new ExcelUtilCommon();

//获取接口返回数据
String responsData = prev.getResponseDataAsString();
   log.info("接口返回msg为:" + responsData);
//响应信息转为Json对象,再提取msg的值
JSONObject responseJson = new JSONObject(responsData);
String msg = responseJson.getString("msg").toString();

if(msg == null){
   Falure = True;
   log.info("无法获取接口返回数据");
}

//调用读取方法,第一个参数为文件的绝对路径,第二个参数为要写入的字符串,第三个参数为指定写入的行序号(第一行为0),第四个参数为指定写入的列序号
JSONObject jsonData = (JSONObject)RE.writeExcel("C:\\Users\\51210\\Desktop\\TestCases.xlsx",msg,1,7);
String message = jsonData.getString("msg").toString();
log.info("刚刚写入的内容是:" + msg);

}catch(Exception e){
log.info("捕捉的异常:" + e);
}
  1. 编写请求中的搜索关键词;
  2. 废话多说了,马上运行脚本;

    看看你的excel文件👇

    好了,现在Excel读写完成了,具体的业务实现可以根据这两个范例扩展。有疑问的可以关注我,喜欢文章的可以动动小手点个赞。
    这是我上班时间偷闲写的文章,希望对大家有帮助吧。