1

私はwatir-webdriverを頻繁に使用しています。素晴らしい逸品ですが、新しいブラウザーが閉じられるという問題が増えています。いくつかのバックグラウンド タスクを処理する ubuntu マシンを実行し、watir webdriver を介して Firefox ブラウザーを起動します。コンピューターが数時間稼働している場合、通常は 100 を超えるジョブを処理し、ブラウザーを閉じると問題が発生し始めます。それらはメモリを消費し、最終的にコンピュータを動かなくなり、再起動を余儀なくされます。

次のようなことをしても問題が発生します。

begin
  b = Watir::Browser.new :firefox, :profile => 'default'
  # Goto a few pages
  b.close
rescue => e
  b.close
  raise e
end

それを解決するために私ができることはありますか?例外が発生した場合にプロセスを強制的に終了させる方法はありますか? そして、どうすればデバッグできますか?

ロックポートにバインドできない、または安定した接続を取得できないというタイムアウト例外がよく見られます。

ところでルビー1.9.3、ubuntu 12.04 watir-webdriver 0.6.1

4

2 に答える 2

2

これを試して:

begin
  b = Watir::Browser.new :firefox, :profile => 'default'
  # Goto a few pages
ensure
  b.close
end
于 2012-10-04T10:17:13.227 に答える
0

headless gemCelerityなどのヘッドレス ソリューションを調査することをお勧めします。

ヘッドレス gem は、ディスプレイではなくブラウザーを駆動します。ただし、Celerity は HTMLUnit をラップします。これは、まともな JavaScript をサポートする仮想ブラウザです。Celerity を使用して自動テストを実行してきましたが、堅牢です。主な注意点は、JRuby のみであるということです。

もう 1 つのオプションは、webkit などのより効率的なブラウザーを使用することです。

于 2012-10-03T23:39:32.007 に答える