簡體   English   中英

沒有瀏覽器啟動-Selenium Webdriver-java.lang.NoClassDefFoundError:com / google / gson / JsonElement

[英]No browser launches - Selenium Webdriver - java.lang.NoClassDefFoundError: com/google/gson/JsonElement

我有以下非常簡單的代碼:

System.setProperty("webdriver.chrome.driver", ECC.CHROME_DRIVER_PATH);
        WebDriver x = new ChromeDriver();
        x.get("www.google.com");

這引發:

java.lang.NoClassDefFoundError: com/google/gson/JsonElement
     at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:139)
     at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
     at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:604)
     at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:244)
     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
     at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:178)
     at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:167)
     at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
     at com.axletrees.tests.draft.In_Dev_Tests_Jorge.verifyLoginAD(In_Dev_Tests_Jorge.java:24)
     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:108)
     at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
     at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)  at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
     at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
     at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
     at org.testng.TestRunner.privateRun(TestRunner.java:744)
     at org.testng.TestRunner.run(TestRunner.java:602)
     at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
     at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
     at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
     at org.testng.SuiteRunner.run(SuiteRunner.java:289)
     at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
     at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
     at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
     at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
     at org.testng.TestNG.runSuites(TestNG.java:1144)
     at org.testng.TestNG.run(TestNG.java:1115)
     at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
     at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
     at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonElement 
     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)
     ... 35 more

任何想法?

這是您的問題的解決方案:

  1. 您需要提供cromedriver的完整路徑,如下所示:

System.setProperty("webdriver.chrome.driver", ECC.CHROME_DRIVER_PATH+"cromedriver.exe");

  1. 您需要提供調用網頁的協議: WebDriver x = new ChromeDriver(); x.get("http:\\\\google.com"); WebDriver x = new ChromeDriver(); x.get("http:\\\\google.com");

讓我知道這是否對您有幫助。

我可以通過在日食市場上更新TestNG來解決此問題。 我在pom.xml文件中指定了最新的版本,並且沒有在eclipse中手動更新TestNG。

作為記錄,如果有人遇到相同的問題,則當去市場上查看已安裝的應用程序時,有時它沒有提供更新應用程序的可能性,它只會說“已安裝”; 要查看是否有任何更新,請單擊“已安裝”按鈕,然后您會看到該選項。

再次感謝你的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM