我收到以下錯誤日誌時,我試圖使用Groovy與後續的代碼做參數:數據從Excel驅動測試在soapUI的免費版本使用Groovy腳本
package org.codehaus.groovy.antlr.parser;
import java.io.*;
import jxl.*;
import org.codehaus.groovy.antlr.parser.GroovyRecognizer;
Workbook workbook = Workbook.getWorkbook(new File("D:\\SOAPUI\\ConversionRate.xls")
Sheet sheet1 = workbook.getSheet("DataDriven");
row = sheet1.getRow(); col = sheet1.getColumns();
log.info "Row Count =" +row
log.info "Column Count =" +col
for(i=1;i<row;i++) {
for(j=0;;j<col;j++) {
def celsius = testRunner.tetCase.getStepByName("Properties")
cell var = sheet1.getCell(i,j)
log.info var.getContents()
}
}
注:我已經把所有的jar和jxl在bin/ext文件夾中。
org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed: Script7.groovy: 1: unable to resolve class com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate @ line 1, column
^
org.codehaus.groovy.syntax.SyntaxException: unable to resolve class com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate @ line 1, column 1.
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:148)
at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1206)
at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148)
at org.codehaus.groovy.control.CompilationUnit$6.call(CompilationUnit.java:585)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:832)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:519)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:495)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:472)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:292)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:727)
at groovy.lang.GroovyShell.parse(GroovyShell.ja`enter code here`va:739)
at groovy.lang.GroovyShell.parse(GroovyShell.java:766)
at groovy.lang.GroovyShell.parse(GroovyShell.java:757)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:141)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:90)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:274)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
1 error
似乎一個自定義類(不是jxl)相關的是缺少'com.company.ui.test ...'。你可以添加它拋出這個異常的Groovy代碼嗎? – albciff
我將代碼添加到您的問題中,下次嘗試編輯您的問題而不是將它粘貼到註釋':)'中。 – albciff
一些評論:)。在Groovy testStep腳本中,不要添加包信息;爲什麼要添加'package org.codehaus.groovy.antlr.parser; '這裏肯定這不是必要的。在groovy腳本中,我沒有看到你在哪裏使用導致錯誤原因的類「com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate」。 – albciff