【发布时间】:2017-08-23 13:58:10
【问题描述】:
我正在尝试使用 groovy 脚本步骤在肥皂 UI 中编写类并在任何需要的地方执行。
但它显示错误为:
“org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: 没有方法签名: excel.main() 适用于参数类型: ([Ljava.lang.String;) 值:[[]] 可能的解决方案:wait(), 等待(long),find(),any(),等待(long,int),find(groovy.lang.Closure)
import groovy.json.JsonSlurper
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.*;
import java.util.Iterator;
class excel {
static void ReadWriteExcel(String a,int b)
{
def projectPath = new
com.eviware.soapui.support.GroovyUtils(context).projectPath
//gets the path of the project root
FileInputStream fIpStream= new
FileInputStream(projectPath+"\\Bat_File_Data.xls")
HSSFWorkbook wb = new HSSFWorkbook(fIpStream);
HSSFSheet worksheet = wb.getSheetAt(0);
int noOfRows = worksheet.getLastRowNum();
int noOfColumns = worksheet.getRow(0).getLastCellNum();
for (int i=1;i<2;i++)
{
//def res = wb.getSheetAt(0).getRow(1).getCell(0);
def res = wb.getSheetAt(0).getRow(i).getCell(1);
//log.info res
Row row = worksheet.createRow(i);
Cell cell = row.createCell(2);
Cell cell1 = row.createCell(3);
cell.setCellValue(a);
cell1.setCellValue(b);
}
fIpStream.close(); //Close the InputStream
FileOutputStream output_file =new FileOutputStream(new
File(projectPath+"\\Bat_File_Data.xls"));
wb.write(output_file);
output_file.close();
}
}
class Groovy
{
static void main(String[] args)
{
ReadWriteExcel("Pass",2234);
}
}
【问题讨论】:
-
你在使用
readyapi吗?还是开源版软件?如果您在 groovy 脚本测试步骤中编写上述脚本并尝试在另一个步骤中调用?那么它不适用于上述方法。您需要编译类并创建jar文件并将其放在SOAPUI_HOME/bin/ext目录下,在开始使用之前重启soapui工具。 -
请查看此线程以了解如何实现 - rupertanderson.com/blog/…
标签: groovy apache-poi soapui