繁体   English   中英

在JMeter中使用Excel中的数据进行数据驱动的测试时出错

[英]Error while doing Data-Driven Testing in JMeter using data in Excel

我试图读取存储在Excel电子表格的一列中的xml,然后使用HTTP Sampler将它们发射到服务器,然后将响应xml存储在同一Excel中。 这是我在JMeter中测试计划的结构: 在此处输入图片说明

但是我遇到了错误。 我无法查明发生错误的确切位置,但是我从结果树中获得了错误消息,如下所示:

用于JSR223采样器

响应消息:javax.script.ScriptException:源文件:内联评估: import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' : Typed variable declaration : Attempt to resolve method: parseInt() on undefined variable or class name: INTEGER : at Line: 6 : in file: inline evaluation of: import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' : Typed variable declaration : Attempt to resolve method: parseInt() on undefined variable or class name: INTEGER : at Line: 6 : in file: inline evaluation of: import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.us . . . '' : Typed variable declaration : Attempt to resolve method: parseInt() on undefined variable or class name: INTEGER : at Line: 6 : in file: inline evaluation of: import org.apache.poi.xssf.usermodel.XSSFWorkbook; 导入org.apache.poi.xssf.us。 '':INTEGER .parseInt(vars .get(“ counter”))的内联评估:``import org.apache.poi.xssf.usermodel.XSSFWorkbook; 导入org.apache.poi.xssf.us。 ''在第6行

HTTP请求采样器的“响应数据”选项卡中的错误显示为:

Exception occured: Parsing xml error, xml string is:${RQI}

BeanShell断言错误是:

断言错误:true断言失败:false断言失败消息:org.apache.jorphan.util.JMeterException:调用bsh方法错误:eval在文件中:内联评估:``import org.apache.poi.xssf.usermodel.XSSFWorkbook; 导入org.apache.poi.xssf.us。 ”在第6行第65列遇到了“:”。

这是我在While控制器中的JSSR223采样器中使用的代码:

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import java.io.*;

int i = INTEGER.parseInt(vars.get("counter"));
XSSFRow row = vars.getObject("book").getSheetAt(0).getRow(i);

vars.putObject("row", row);
for (int j = 1; j <= vars.getObject("book").getSheetAt(0).getRow(0).getLastCellNum(); j++) {
    if (row.getCell(j) == null) {
        row.createCell(j).setCellValue("");
    }
}

String payload = row.getCell(1).toString();
 vars.put("RQI",payload);
//String password = row.getCell(2).toString();
// vars.put("password",password);
//String expectedResult = row.getCell(5).toString();
// vars.put("expectedResult",expectedResult);

请协助。 另外,为简洁起见,在本文中我省去了其他JSR223采样器的代码,请随时询问更多信息。 先感谢您。

  1. 您必须更改此行:

     INTEGER.parseInt(vars.get("counter")); 

    到这个

     Integer.parseInt(vars.get("counter")); 

    检出Integer类JavaDoc- Integer.parseInt()

  2. 您应该使用JSR223测试元素而不是Beanshell测试元素,并且应该在JSR223测试元素中使用Groovy语言

  3. 您可能会在JMeter测试参考中发现如何实施数据驱动测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM