此代码执行以下操作
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import java.io. *; 从我们添加到JMeter的Jar文件中导入所必需的类
XSSFWorkbook book =""; 用数据类型XSSFWorkbook创建一个参考变量“book”。该变量将引用包含Excel文件中所有行的对象。
try{}catch{}
一个旨在处理异常的块。在代码执行过程中可能会出现一个不可预见的情况。在我们的情况下,如果我们创建的Excel文件不存在了,就可能会出现无法预料的情况。可能发生异常的代码放置在“try”块中。处理异常并通知用户这种情况的代码放置在“catch”块中
InputStream inputStream = new FileInputStream(new File("${pathToFile}"));
访问指定路径上Excel文件。文件的路径是变量"${pathToFile}",我们在用户定义的变量中创建过
InputStream inputStream = new FileInputStream()读取Excel文件中的所有行
book = new XSSFWorkbook(inputStream); 创建一个XSSFWorkbook对象,该对象将包含Excel文件中的所有行
inputStream.close();- 停止从文件读取
log.info("!!!!!!!!"+ e.getMessage()+"!!!!!!!!!!!!!!!")
log.info()将消息输出到JMeter控制台
e.getMessage()接收异常消息
if(!book.equals("")){
vars.putObject("book",book);
} else {
SampleResult.setStopTestNow(true);
}
!book.equals("")- 检查“book”变量是否未引用空对象,如果发生异常,可以创建一个空对象,并且不会接收来自Excel文件的行。
如果没有读取到Excel文件的行,则会执行代码SampleResult.setStopTestNow(true)
5.添加一个While控制器
While控制器用于Excel文件包含输入数据的行数,作为发送请求的次数
在While Controller中,添加以下代码,用于停止While Controller
${__javaScript("${stopWhile}"!="OK")}