web-dev-qa-db-ja.com

情報:HTTPステータス: '404'-> GeckoDriver、Firefox、Seleniumでの「不明なエラー」のJSONステータスマッピングが正しくないJava

selenium WebDriverドライバーを実行すると、新しいFirefoxDriver()にエラーが表示され、必要なすべてのライブラリーがインポートされますが、エラーは再現されます

 package prueba;

    import org.openqa.Selenium.WebDriver;

    import org.openqa.Selenium.firefox.FirefoxDriver;

    public class Prueba {

        public static void main(String[] args) {
        WebDriver driver= new FirefoxDriver();
        driver.get("https://www.google.com/");
    }

}

firefoxドライバー()で実行すると、次のエラーが表示されます

1541445238209   Marionette  DEBUG   Remote service is active
1541445238216   Marionette  DEBUG   Accepted connection 0 from 127.0.0.1:51066
1541445238238   Marionette  TRACE   0 -> [0,1,"newSession",{"acceptInsecureCerts":true,"browserName":"firefox","capabilities":{"desiredCapabilities":{"acceptInsecureCerts":true,"browserName":"firefox"}}}]
1541445238238   Marionette  TRACE   0 <- [1,1,{"error":"unknown command","message":"newSession","stacktrace":"[email protected]://marionette/content/error.js:178: ... [email protected]://marionette/content/server.js:245:8\n_onJSONObjectReady/<@chrome://marionette/content/transport.js:490:9\n"},null]
Nov 05, 2018 3:13:58 PM org.openqa.Selenium.remote.ErrorCodes toStatus
INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected)
Exception in thread "main" org.openqa.Selenium.WebDriverException: newSession
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:14.666Z'
System info: Host: 'Mac-mini-QE-Gustavo.local', ip: '192.168.1.73', os.name: 'Mac OS X', os.Arch: 'x86_64', os.version: '10.13.6', Java.version: '1.8.0_131'
Driver info: driver.version: FirefoxDriver
remote stacktrace: stack backtrace:
   0:        0x10a952f64 - backtrace::backtrace::trace::h381bd5461b44fdf8
   1:        0x10a95331e - backtrace::capture::Backtrace::new::hbc1a12654c8fdba8
   2:        0x10a87f2ad - webdriver::error::WebDriverError::new::h482125abced50b28
   3:        0x10a88b11f - geckodriver::marionette::MarionetteSession::response::hc90b9b3424fb8183
   4:        0x10a89828b - geckodriver::marionette::MarionetteConnection::send_command::he82b7344fb11a670
   5:        0x10a889d38 - _$LT$geckodriver..marionette..MarionetteHandler$u20$as$u20$webdriver..server..WebDriverHandler$LT$geckodriver..marionette..GeckoExtensionRoute$GT$$GT$::handle_command::hf2128d0e5b79de64
   6:        0x10a829be8 - _$LT$webdriver..server..Dispatcher$LT$T$C$$u20$U$GT$$GT$::run::h03cbe31ad3bffc79
   7:        0x10a88004a - webdriver::server::start::_$u7b$$u7b$closure$u7d$$u7d$::h39b3aa32dda07c86
   8:        0x10a87434a - _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hdf61d260d4895572
   9:        0x10a7b8399 - std::panicking::try::do_call::h7b2d8948e219fc68
  10:        0x10ade901a - __Rust_maybe_catch_panic
  11:        0x10a7b7eac - std::panicking::try::h91913aec898bbfef
  12:        0x10a7b53c5 - std::panic::catch_unwind::h3ab5cba0644d3617
  13:        0x10a7b717c - std::thread::Builder::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h27cd13f9efbf7439
  14:        0x10a812686 - _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::hc399e39818c3f4d8
  15:        0x10ade51e4 - std::sys::imp::thread::Thread::new::thread_start::h36f6d218784ec55f
  16:     0x7fff58dfa660 - _pthread_body
  17:     0x7fff58dfa50c - _pthread_start
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:62)
    at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
    at Java.lang.reflect.Constructor.newInstance(Constructor.Java:423)
    at (RemoteWebDriver.Java:142)
    at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:120)
    at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:98)
    at prueba.Prueba.main(Prueba.Java:23)
/Users/macminidev2/Library/Caches/NetBeans/8.2/executor-snippets/run.xml:53: Java returned: 1
BUILD FAILED (total time: 4 seconds)

この問題で私を助けてくれませんか:D

4
Claure

このエラーメッセージ...

_org.openqa.Selenium.remote.ErrorCodes toStatus INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected) 
Exception in thread "main" org.openqa.Selenium.WebDriverException: newSession 
 Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:14.666Z' 
 System info: Host: 'Mac-mini-QE-Gustavo.local', ip: '192.168.1.73', os.name: 'Mac OS X', os.Arch: 'x86_64', os.version: '10.13.6', Java.version: '1.8.0_131' 
 Driver info: driver.version: FirefoxDriver
_

...GeckoDriverが新しいWebBrowsing SessionieFirefox Browserセッション。

Selenium v​​3.xを使用しているので、理想的にはGeckoDriverの最新バージョンを-からダウンロードする必要があります mozilla/geckodriver 、次のようにSystem.setProperty()を介してGeckoDriverの絶対パスを抽出して提供します。

_System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
_

ただし、主な問題は、次のように使用しているバイナリのバージョン間の非互換性です。

  • Selenium Clientのバージョンは3.8.1of2017-です12-01T19:05:14.666Zほぼ1年古くなっています。
  • あなたのJDKバージョン1.8.0_131これはかなり古代です
  • GeckoDriverのバージョンは不明です。
  • Firefoxのバージョンは不明です。

したがって、JDK v8u131Selenium Client v3.8.1の間には明らかな不一致があります。

解決

  • アップグレード[〜#〜] jdk [〜#〜]を最近のレベルにアップグレード JDK 8u191
  • Seleniumを現在のレベルにアップグレード バージョン3.14.0
  • GeckoDriverGeckoDriver v0.23.0 レベルにアップグレードします。
  • GeckoDriverは指定された場所に存在します。
  • GeckoDriverはroot以外のユーザーに実行権限を与えています。
  • FirefoxバージョンをFirefox vv63.0.1にアップグレードしますレベル。
  • クリーンyourプロジェクトワークスペースからyour[〜#〜] ide [〜#〜]およびRebuild必要な依存関係のみを使用してプロジェクトを作成します。
  • ベースWebクライアントのバージョンが古すぎる場合は、 Revo Uninstaller を使用してアンインストールし、最近GAおよびWeb Clientのリリースバージョン。
  • System Rebootを実行します。
  • Root以外のユーザーとしてTestを実行します。
  • WebDriverおよびWebクライアントを閉じて破棄するには、常にdriver.quit()メソッド内でtearDown(){}を呼び出しますインスタンスは優雅に。
2
DebanjanB

以下が欠けていると思います:

System.setProperty("webdriver.gecko.driver", firefox driver path);
1
Waqar Nadir

最新バージョンのgeckodriver-v0.26.0-win64\geckodriver.exeをダウンロードしてこれを修正しました

0
Charlie