java.lang.NoClassDefFoundError when i 运行 Marionette FF 47.0.1 的驱动程序

java.lang.NoClassDefFoundError when i run Marionette driver for FF 47.0.1

我是第一次使用 Marionette 驱动程序,当我 运行 测试浏览器 window 打开时它命中了测试(代码)中指定的 URL 但是它未在文本字段中输入任何文本并引发以下错误。??

java.lang.NoClassDefFoundError: org/openqa/selenium/internal/HasIdentity at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access0(Unknown Source) at java.net.URLClassLoader.run(Unknown Source) at java.net.URLClassLoader.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.openqa.selenium.remote.internal.JsonToWebElementConverter.newRemoteWebElement(JsonToWebElementConverter.java:77) at org.openqa.selenium.remote.internal.JsonToWebElementConverter.apply(JsonToWebElementConverter.java:57) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:653) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363) at org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:492) at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:415) at org.openqa.selenium.By$ById.findElement(By.java:214) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.openqa.selenium.support.events.EventFiringWebDriver.invoke(EventFiringWebDriver.java:101) at com.sun.proxy.$Proxy19.findElement(Unknown Source) at org.openqa.selenium.support.events.EventFiringWebDriver.findElement(EventFiringWebDriver.java:184) at com.pearson.itautomation.bca.Browser$WaitForElementFunction.apply(Browser.java:64) at com.pearson.itautomation.bca.Browser$WaitForElementFunction.apply(Browser.java:48) at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208) at com.pearson.itautomation.bca.Browser.getElementWithWait(Browser.java:307) at com.pearson.itautomation.bca.interaction.SendTextToElementAction.perform(SendTextToElementAction.java:64) at com.pearson.itautomation.bca.BrowserAction.performWithStates(BrowserAction.java:104) at com.pearson.itautomation.bca.BrowserAction.performWithStates(BrowserAction.java:80) at pearson.ePortfolio.Actions.CommonActions.edTPALogin(CommonActions.java:181) at TestCases_PSP.SendTaskLevelFeedbackRequest.TaskFeedbackRequest(SendTaskLevelFeedbackRequest.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224) at org.testng.TestNG.runSuitesLocally(TestNG.java:1149) at org.testng.TestNG.run(TestNG.java:1057) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.internal.HasIdentity at java.net.URLClassLoader.run(Unknown Source) at java.net.URLClassLoader.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 60 more

FF浏览器Version:47.0.1 硒-java :2.52.0

将您的 selenium-java 升级到 2.53.1。 Firefox 47.0.1 已经修复了 selenium webdriver 的问题。您可以成功 运行 测试 FirefoxDriver() 的自动化;

我认为在您的 POM 文件中显式升级您的 selenium-API 将使您摆脱这些错误,并且在我的情况下确实如此.. org.seleniumhq.selenium 硒-java 2.53.0 org.seleniumhq.selenium 硒-api 2.53.0