如何解决,导入包时无法解析类?

时间:2012-12-18 17:53:23

标签: selenium

我正在使用以下代码。

import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.support.ui.ExpectedCondition
import org.openqa.selenium.support.ui.WebDriverWait

WebDriver driver = new FirefoxDriver()
driver.get("http://www.google.com")

但它正在回归......

23:08:25,789 ERROR [SoapUI] An error occured [No match found], see error log for details
23:08:25,791 ERROR [SoapUI] An error occured [startup failed:
Script2.groovy: 1: unable to resolve class org.openqa.selenium.By
 @ line 1, column 1.
   import org.openqa.selenium.By
   ^
org.codehaus.groovy.syntax.SyntaxException: unable to resolve class org.openqa.selenium.By
 @ line 1, column 1.
        at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:148)
        at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1240)
        at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148)
        at org.codehaus.groovy.control.CompilationUnit$8.call(CompilationUnit.java:601)
        at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839)
        at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544)
        at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:493)
        at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
        at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:770)
        at groovy.lang.GroovyShell.parse(GroovyShell.java:761)
        at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:148)
        at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
        at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:89)
        at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:149)
        at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:274)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

1 个答案:

答案 0 :(得分:0)

您似乎错过了这些库。添加:

@Grapes([
        @Grab("org.codehaus.geb:geb-core:0.7.2"),
        @Grab("org.seleniumhq.selenium:selenium-firefox-driver:2.42.2"),
        @Grab("org.seleniumhq.selenium:selenium-support:2.42.2")
])

将以上行放在脚本的顶部。

之后放入将使用库的import语句,这些库将首先下载到您的系统并存储在缓存中以供下次检索。

现在运行你的脚本。第一次运行脚本时,编译需要一些时间,因为它将库下载到系统并存储在缓存中。 但从第二次起,它不会花费太多时间。