2012-10-29 287 views
0

嘗試運行的soapUI文件時,我目前收到此錯誤:org.codehaus.groovy.control.MultipleCompilationErrorsException:啓動失敗:Script7.groovy:1:無法解析類

org.codehaus.groovy.control.MultipleCompilationErrorsException: 
startup failed: Script7.groovy: 1: unable to resolve class com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate @ line 1, column 1.  
    import com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate 
          ^
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.java: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 

soapUI的代碼:

import com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate 

def env = testRunner.testCase.testSuite.project.getPropertyValue("env") 
def baseUrl = testRunner.testCase.testSuite.project.getPropertyValue("baseUrl") 

log.info("The baseurl is "+baseUrl) 
log.info("The env under test is "+env) 

SoapUI_T11001_StockConsSecurityCurBusiDate testStep = new SoapUI_T11001_StockConsSecurityCurBusiDate(); 
testStep.init(baseUrl); 
testStep.execute(null); 

Eclipse代碼:

package com.company.ui.test; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebElement; 

import com.eviware.soapui.model.support.AbstractSubmitContext; 
import com.eviware.soapui.model.testsuite.TestRunner; 

public class SoapUI_T11001_StockConsSecurityCurBusiDate extends BaseSelenium{ 
    public static void main(final String[] args){ 
     final SoapUI_T11001_StockConsSecurityCurBusiDate ico = new SoapUI_T11001_StockConsSecurityCurBusiDate(); 
     try{ 
     ico.init("https://avncedevn1.nam.nsroot.net:17620/", false); 
     }catch(Exception e){ 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 
     ico.execute(null); 
    } 
     //...code.... 
} 

我該如何解決這個問題?我不確定是什麼導致了錯誤。

+0

@tim_yates 我已經包含我需要運行的代碼的.jar。將它添加到soapui> bin> ext文件夾中,現在它可以工作。 感謝您以前的指針 – qwer1234

回答

2

您是否安裝了聖盃和groovy插件?如果是這樣,請嘗試卸載此插件。我有相同的錯誤信息並卸載插件,重新啓動IDE爲我工作。

+1

嗨,感謝您的建議。 我真的在soapui中創建了一個新的乾淨的項目,它爲我工作。 – qwer1234

1

使用Eclipse朱諾(開普勒發佈)建立ID:20121114-2344,我發現類似的問題:

org.codehaus.groovy.control.multiplecompilationerrorsexception startup failed unable to resolve class Chart 

類圖是我的一些工具,用於製圖的容器類。

我在Eclipse之外嘗試過,使用Groovy 2.0 Console,相同的代碼段工作正常。抓我的頭約3小時後,我通過與主(),有「new Chart()」,從而得到投訴,一旦添加,錯誤消失調用類中添加以下

import excel.Chart 

解決它。更奇怪的是,在通過錯誤之後,我刪除了那個導入,仍然沒有更多的投訴! (我所有的腳本/類都在相同的包excel下,我想這種導入語句是不需要的。)

投訴的症狀之一是在輸出bin文件夾中沒有生成Chart.class。一旦投訴失敗,Chart.class就出現在那裏。我想這可能是Eclipse/Groovy插件(我使用Groovy插件的Juno)的錯誤。

希望我的理解是正確的,它有幫助。