質問

クライアントが RC サーバー上で Selenium セッションを開始したが、セッションの途中でクライアントが「立ち去った」とします。ブラウザは開いたままになり、このようなセッションの切断が十分に行われると、最終的には「孤立した」ブラウザが多数存在し、コンピュータの速度が低下します。

  • これらのブラウザが閉じていることを確認するにはどうすればよいですか?
  • クライアントがまだ応答していることを確認し、そうでない場合はセッションを強制終了するための「キープアライブ」部分がプロトコルにないのはなぜですか?
  • 役に立ちましたか?

    解決

    任意のブラウザインスタンスを使用すると、保存できるのsession_idを持っています。 Pythonの例:

    >>> import selenium
    >>> browser = selenium.selenium("localhost",4444, "*firefox", "http://www.santiycr.com.ar")
    >>> browser.start()
    >>> browser.sessionId
    u'b4ad1f1d624e44d9af4200b26d7375cc'
    
    あなたは時にテストを開始するファイルでこれらのセッションIDを格納し、あなたのテストが終了したときに、それを削除する場合は、

    だから、あなたは正しく終了しなかったテストのセッションのログ・ファイルを持っています。

    今のcron、または任意の定期的な実行を使用して、あなたは(あなたのプログラミング言語のためのブラウザ、あるいはHTTPライブラリを使用して)、そのファイルを読み、それに保存されているsessionIdsを反復し、次のURLを開くことができます:

    ます。http:// localhostを:4444 /セレン - サーバー/ドライバ/?セッションID =-SESSION-ID&CMD = TestCompleteは

    これはトリックを行う必要があります。

    編集:私は解決策についての私のブログで記事を作成したので、興味深いこの質問を見つけました。あなたがPythonの男なら、あなたはそれが面白い見つけることができます: のhttp:/ /www.santiycr.com.ar/djangosite/blog/posts/2009/aug/25/close-remaining-browsers-from-selenium-rcする

    他のヒント

    >>> browser.stop()
    

    サンティと同じでは上記説明しています。

    また、単にプロセスを強制終了することができます:

    のWindowsます:

    taskkill /f /im iexplore.exe
    taskkill /f /im firefox.exe

    の* nixます:

    for i in `ps -A | grep firefox | awk '{print $1}'`; do kill -9 $i; done
    
    ライセンス: CC-BY-SA帰属
    所属していません StackOverflow
    scroll top