2

Apple Developer 証明書をダウンロードし、フレームワークで Safari 拡張機能も構成しました。ここで、スクリプトの実行を開始すると、ブラウザが起動され、いくつかのアクションが実行され、次のエラーがスローされます。

(注: 私は selenium-server-standalone-2.31.0.jar を使用しています)

2013 年 3 月 5 日 3:59:13 PM org.openqa.selenium.safari.SafariDriverServer start INFO: サーバーがポート 5674 で開始されました 2013 年 3 月 5 日 3:59:33 PM org.openqa.selenium.safari.SafariDriverChannelHandler$1接続が開かれました 2013 年 3 月 5 日 3:59:45 PM org.jboss.netty.channel.SimpleChannelUpstreamHandler 警告: 例外、適切な処理のために org.openqa.selenium.safari.SafariDriverChannelHandler.exceptionCaught() を実装してください。java.io.IOException: 既存の接続が、sun.nio.ch の sun.nio.ch.SocketDispatcher.read0(ネイティブ メソッド) のリモート ホストによって強制的に閉じられました。sun.nio.ch の SocketDispatcher.read(不明なソース) .IOUtil.readIntoNativeBuffer(不明なソース) は sun.nio.ch.IOUtil.read(不明なソース) は sun.nio.ch.SocketChannelImpl にあります。

4

1 に答える 1

0

を呼び出した後、同じエラーが発生しましたsafariDriver.quit()。SafariDriver は、ソケットが終了することを認識していたにもかかわらず、ソケットをクローズしなかったことが判明しました。この問題を修正するために、QUITコマンドの動作を調整し、Safari ドライバーに関連する別の機能の PR にパッチを含めました: https://github.com/SeleniumHQ/selenium/pull/87

実際の修正は非常に簡単です。https://github.com/Rob--W/selenium/commit/2b53d4b61で確認してください。

この修正を自分で実装したいですか? 次の手順に従います。

  1. 前提条件をインストールします (Linux、Mac、および Windows で利用可能):
    • Java Development Kit (JREだけでなくJDK)
    • ルビー
    • ギット
  2. Selenium リポジトリをクローンします。

    git clone https://code.google.com/p/selenium/
    
  3. 私の commit を適用します。

  4. Selenium リポジトリのルートで、次のコマンドを実行します。

    ./go selenium-server-standalone offline=true
    

    (Windows を使用している場合は、省略してください./:)

    go selenium-server-standalone offline=true
    
  5. しばらく待ってください。最初のビルドには数分かかり、その後のビルドは 1 分以内に完了します。目的の結果は、次のディレクトリにあります (リポジトリのルートからの相対位置)。

    build/java/server/src/org/openqa/grid/selenium/selenium-standalone.jar
    
于 2013-06-16T22:06:53.793 に答える