我在Eclipse中做Selenium WebDriver。
在我的第一个项目中,我从下载' selenium-java-2.45.0.zip'中获取WebDriver库,并通过“Java Build Path'”添加它们。 - > '库' - > '添加外部JAR'在Eclipse中。
然后我为项目编写测试脚本,一切运行正常。
在我的第二个项目中,我尝试通过Maven管理WebDriver库。在我的项目POM.xml文件中,我有以下几行:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.45.0</version>
</dependency>
完全按照Seleniumhq网站的说明进行操作。
然而这次虽然项目编写得很好,但是当我尝试进行“测试”时。运行一些测试脚本,出现构建错误
java.lang.NoClassDefFoundError: com/google/common/base/Optional
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.loadCustomExtension(NewProfileExtensionConnection.java:156)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.addWebDriverExtensionIfNeeded(NewProfileExtensionConnection.java:148)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:80)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:191)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at test.java.NewTest.beforeMethod(NewTest.java:39)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Optional
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 45 more
代码行:
@BeforeMethod
public void beforeMethod() {
driver = new FirefoxDriver(); //this line
...
}
似乎缺少一些图书馆。可能是什么问题呢?有什么建议吗?
由于
答案 0 :(得分:0)
你错过了类路径中的guava-<version>.jar
jar。请把它添加到你的pom。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>