本质是:测试的参数与预期结果,存储于本地excel中。运行脚本时,从文件中获取实际结果与预期值进行比较,最后将实际结果与运行状态写入Excel。

1:创建测试之前,我们需要安装几个jar包(需要jar包的加群获取:317765580)

Apache POI 3.17

Apache POI-OOXML 3.17

Apache Commons IO 2.6

OOXML模式1.3

commons-collections4-4.1

xmlbeans-2.6.0

将这些jar包放到apache的lib目录下,记得要在jmeter关闭的情况下放置!然后重启jmeter

添加jar包后,在本地jmeter目录下创建一个excel文件,如下所示:

 

  • 测试用例描述 - 手动填写
  • Case - 用例名称
  • parameter- 参数值,用于生成对API的请求
  • request - 在此列中,JMeter将向API写入接口路径
  • Method - 在此列中,JMeter将写入请求方法
  • ActualResult预期结果是我们期望从API获得的结果。手动填写
  • ExpectedResult 实际结果是我们的请求实际返回的结果,将与预期值进行比较
  • ResponseCode 响应码是我们接口返回的响应状态
  • Status Jmeter将实际值与预期值进行比较,得出运行结果

2:添加一个线程组

3:添加一个用户变量

线程组 - >右键单击 - >添加 - >配置元素 - > 用户定义的变量

在用户定义的变量 中创建一个名为“pathToFile”的变量  其值为“D:\Test-Tools\apache-jmeter-3.2\apache-jmeter-3.2\shujuqudong\opms.xlsx”这个变量的值是我们上面创建的Excel文件的路径(注意双反斜杠)

 

4. 添加一个JSR223采样器,目的是根据excel文件创建一个Workbook对象

 

采样器中的代码如下

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import java.io.*;
XSSFWorkbook book ="";
try{

InputStream inputStream = new FileInputStream(new File("${pathToFile}"));
book = new XSSFWorkbook(inputStream);
inputStream.close();

} catch(Exception e){
log.info("!!!!!!!!"+ e.getMessage()+"!!!!!!!!!!!!!!!");

}

if(!book.equals("")){

vars.putObject("book",book);
} else {

SampleResult.setStopTestNow(true);
}

5. 添加一个While控制器

While控制器用于Excel文件包含输入数据的行数,作为发送请求的次数

在While Controller中,添加以下代码,用于停止While Controller

${__javaScript("${stopWhile}"!="OK")}

6:添加一个计数器,设置如下参数

7. 添加一个JSR223采样器

这一步中,我们从对象,单元格值的行中获取字符串,并将这些值存储在变量中

8:添加一个if控制器,用来判断请求方法

 

 

9:添加http请求,在控制器下循环读取用例中的参数

10:循环提取响应信息,作为后期的实际值来断言

 

11: 添加一个BeanShell断言

用于比较实际结果和预期结果,并在Excel中记录响应实际值,响应状态和用例通过状态

 

12: 添加一个JSR223采样器,用于将结果保存到本地的excel文件中

 

执行以下操作:

将每个请求的结果写入我们创建的“book”对象,不是写入实际的Excel文件。直到在发送最后一次请求后,将所有结果都将写入Excel文件

看一下完整的结构图!

 

 

你还在为找不到可练习的接口而烦恼吗?现在加入龙渊阁,我们手把手教你搭建属于自己的接口测试环境!

 

点击这里进入史上最具活力的测试交流平台

 
内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!