当我为FF 47.0.1运行Marionette驱动程序时出现java.lang.NoClassDefFoundError

时间:2016-07-15 06:54:51

标签: selenium-webdriver firefox-marionette

我第一次使用Marionette驱动程序,当我运行测试浏览器窗口打开并且它命中测试(代码)中指定的URL但它没有在文本字段中输入任何文本并引发跟随错误。?? < / p>

  

java.lang.NoClassDefFoundError:   组织/ openqa /硒/内部/ 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)         在java.net.URLClassLoader.access $ 100(未知来源)         在java.net.URLClassLoader $ 1.run(未知来源)         在java.net.URLClassLoader $ 1.run(未知来源)         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)         在org.openqa.selenium.remote.internal.JsonToWebElementConverter.newRemoteWebElement(JsonToWebElementConverter.java:77)         在org.openqa.selenium.remote.internal.JsonToWebElementConverter.apply(JsonToWebElementConverter.java:57)         在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:653)         在org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363)         在org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:492)         在org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:415)         在org.openqa.selenium.By $ ById.findElement(By.java:214)         在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)         在org.openqa.selenium.support.events.EventFiringWebDriver $ 2.invoke(EventFiringWebDriver.java:101)         at com.sun.proxy。$ Proxy19.findElement(Unknown Source)         在org.openqa.selenium.support.events.EventFiringWebDriver.findElement(EventFiringWebDriver.java:184)         在com.pearson.itautomation.bca.Browser $ WaitForElementFunction.apply(Browser.java:64)         在com.pearson.itautomation.bca.Browser $ WaitForElementFunction.apply(Browser.java:48)         在org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)         在com.pearson.itautomation.bca.Browser.getElementWithWait(Browser.java:307)         在com.pearson.itautomation.bca.interaction.SendTextToElementAction.perform(SendTextToElementAction.java:64)         在com.pearson.itautomation.bca.BrowserAction.performWithStates(BrowserAction.java:104)         在com.pearson.itautomation.bca.BrowserAction.performWithStates(BrowserAction.java:80)         at pearson.ePortfolio.Actions.CommonActions.edTPALogin(CommonActions.java:181)         在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)         在org.testng.internal.Invoker.invokeMethod(Invoker.java:714)         在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)         在org.testng.TestRunner.privateRun(TestRunner.java:767)         在org.testng.TestRunner.run(TestRunner.java:617)         在org.testng.SuiteRunner.runTest(SuiteRunner.java:334)         在org.testng.SuiteRunner.run顺序(SuiteRunner.java:329)         在org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)         在org.testng.SuiteRunner.run(SuiteRunner.java:240)         在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)         在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)         at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)         在org.testng.TestNG.runSuitesLocally(TestNG.java:1149)         在org.testng.TestNG.run(TestNG.java:1057)         at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)         在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)         在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)       引起:java.lang.ClassNotFoundException:org.openqa.selenium.internal.HasIdentity         在java.net.URLClassLoader $ 1.run(未知来源)         在java.net.URLClassLoader $ 1.run(未知来源)         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多个

FF浏览器版本:47.0.1         selenium-java:2.52.0

2 个答案:

答案 0 :(得分:1)

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

的测试自动化

答案 1 :(得分:0)

我认为在您的POM文件中明确升级您的selenium-API会让您摆脱这些错误,而且在我的情况下也是如此。              org.seleniumhq.selenium         硒的Java         2.53.0                   org.seleniumhq.selenium         硒的API         2.53.0