クライアントを失った Selenium RC サーバー上のブラウザを閉じる方法
-
19-09-2019 - |
質問
クライアントが 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