当前位置: 首页 > 知识库问答 >
问题:

在SOAPUI工具中读取Excel工作表时出现Groovy脚本错误

赵英范
2023-03-14

我在SOAP UI工具中编写了groovy脚本,用于从excel工作表中读取值并执行SOAP UI xml,但每当运行脚本时,我都会遇到以下错误,

请帮帮我。我不明白这里缺少什么。我也添加了所有jar文件。

脚本为

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.util.*;
import org.apache.poi.ss.usermodel.*;
import java.io.*;

class ExcelReader {

  def readData() {
        def path = "D:\\test.xlsx";
        InputStream inputStream = new FileInputStream(path);
        Workbook workbook = WorkbookFactory.create(inputStream);
        Sheet sheet = workbook.getSheetAt(0);

        Iterator rowIterator = sheet.rowIterator();
        rowIterator.next()
        Row row;                      
        def rowsData = []
        while(rowIterator.hasNext()) {
             row = rowIterator.next()
             def rowIndex = row.getRowNum()
             def colIndex;
             def rowData = []
             for (Cell cell : row) {
                 colIndex = cell.getColumnIndex()
                  rowData[colIndex] = cell.getRichStringCellValue().getString();
             }                   
             rowsData << rowData
         }
         rowsData
  }
 }

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def myTestCase = context.testCase

ExcelReader excelReader = new ExcelReader();
List rows = excelReader.readData();
def d = []
Iterator i = rows.iterator();
while( i.hasNext()){
         d = i.next();
         myTestCase.setPropertyValue("Country Name", d[0])
         //myTestCase.setPropertyValue("To", d[1])      
         testRunner.runTestStepByName( "GetCitiesByCountry")
}

enter code here

错误:

共有2个答案

荆学民
2023-03-14

在$SOAPUI_HOME\bin\ext中添加poi-ooxml jar并重新启动SOAPUI。WorkbookFactory存在于提到的jar中。请检查poi组件以获取更多信息。

孔运良
2023-03-14

在SOAPUI\u HOME\bin\ext中添加apache poi JAR,然后重新启动SOAPUI以加载它。如果错误再次发生,请检查JAR是否正确(可能JAR已损坏…)检查它们是否包含您需要的类。阿帕奇。poi。不锈钢。用户模型。工作簿,组织。阿帕奇。poi。不锈钢。用户模型。工作表等。

希望这有帮助,

 类似资料:
  • 问题内容: 我遵循了使用Apache POI XSSF构造工作簿的简单指南。遵循相同的指南,我能够写出一张Excel工作表,但是,当尝试从其中读取数据时,我收到了代码后显示的错误。 码: 错误输出: 线程“主”中的异常java.lang.NoSuchFieldError:org.apache.poi.openxml4j.opc.internal.ZipHelper.verifyZipHeader(

  • SoapUI和Groovy我正在使用SoapUI pro和Groovy脚本。我正在将客户记录从请求读取到以下内容, CustRec中的值为, 现在,我想计算客户中Person对象的总数(即,在这个场景中,答案是2)。我尝试了while循环,但它对我不起作用。有人能告诉我如何使用循环实现吗? 提前感谢

  • 问题内容: 我正在使用NetBeans 6.9.1使用Spring / Hibernet。我正在尝试读取Excel文件(.xlsx- Office 2007)。读取Excel文件的代码如下,使用来存储Excel工作表中的数据。 以下是我的方法,该方法调用上述方法以读取指定的Excel文件 在执行此代码时,将引发以下异常。 提供的数据似乎在Office 2007+ XML中。您正在调用POI中与OL

  • 我在从groovy脚本(groovy脚本是SoapUI测试套件的一部分)运行java代码时遇到了问题,我创建了简单的脚本: TopClass的代码: 我将myjar.jar放入soapui-pro-2.5\lib和soapui-pro-2.5\bin\ext文件夹中。但行书我得到: org.codehaus.groovy.control.multipleCompilationerrorsExcep

  • 我需要从soapui工具的xml中获取价值,并将这些数据存储到Excel表中。我在SoapUI工具中使用了groovy脚本。 如果响应有多个输出,这些输出存储在excel表中。像LocationName和CustCity333Name有两次,所以这些输出应该存储到excel表中。请帮助我解决这个问题

  • nit.java:593nit.java:569AntlrParserPorg.codehaus.groovy.control.CSTIntoAST(AntlrParserPnit.compile)在nit.java:546AntlrParserPgroovy.lang.CST(AntlrParserPoader.do)在oader.java:298SourceUnit.parse(SourceU