2016-09-20 10 views
0

CentOSでSeleniumテストを実行していますが、最近、テスト実行時に安定性の問題やクラッシュが発生しました。私は、tempフォルダの下に作成されたSeleniumブラウザプロファイルが決して削除されていないことを知りました。私は手動ですべての一時ファイルを削除し、システムは安定したように見えます。これを処理し、ブラウザインスタンスが終了したら一時ファイルが確実に削除されるようにするためのチェックがありますか?driver.quit()CentOSのTempフォルダで作成されたプロファイルを削除しないSelenium

+0

この問題は解決しましたか?私は同じことに直面している –

+0

私は回避策を実装している。回答セクション – BountyHunter

答えて

0

ドライバを終了する前に、すべてのCookieを削除することができます。それはそれを行う必要があります。あなたは、ドライバを終了する前にデータを拭くために精一杯だ

driver.manage().deleteAllCookies(); 

+0

を参照してください。これにより、webdriverインスタンスに関連付けられたすべてのクッキーが削除されますが、インスタンス用に作成されたプロファイルは残っています。 – BountyHunter

+0

これは、データを消去するためのセレンのすべてです。これが助けにならないなら、セレンの中にあなたを助けることのできるものは何もないのではないかと心配しています。 –

+0

File変数にインスタンスによって作成された一時ファイルを取得し、後でdriver.quitの後に削除するチェックを作成する方法はありますか?ファイルが存在するかどうかを確認して削除できますか?思考? – BountyHunter

0

私がチェックするために、このシェルスクリプトを30分ごとに実行し、このための恒久的な修正を見つけることが、ここで私は私のブラウザによって作成された一時ディレクトリをきれいにするために実装の回避策(クローム)

#!/bin/bash 

#file that has a list of all server IPs that need the temp folder cleaned 
server_lists=/etc/server_lists 

#command to clean temp with chromium directories created prior to 30 minutes 
cmd='echo "Clean temp"; find /tmp/ -maxdepth 1 -mmin +30 -iname ".org.chromium*" -type d -exec rm -rf "{}" \; && echo Done' 

for ip in $(< $server_lists) 
do 

    ssh -o StrictHostKeyChecking=no $ip "$cmd" 

done 

ありませんでしたし、私のブラウザで作成されたすべての一時ディレクトリを消去してください。

+0

ですが、そのプロファイルが使用中であるかどうかはチェックされていますか。そのような私の場合のようにすべてのユーザーが実行を開始するので、どのくらいの数のブラウザがその時に使用され、いくつのプロファイルを削除する必要があるか分からない。 –

+0

私はあなたのテストケース(個々のテストケース)が15-20分(ハイサイドで)以上かかることはないと仮定しています。テストケースに時間がかかると思われる場合は、-mmin変数を+30から+60に増やすことをお勧めします。これにより、現在時刻から60分前に作成されたすべてのプロファイルが削除されます。 – BountyHunter

関連する問題