私は、ノードをWindowsサービスとして実行する3つの異なるサーバーを持つSelenium Gridをセットアップしました。メモリリークや性能低下を避けるため、これらのマシンを定期的に再起動する必要があります。これを行うには、サーバー上のノードをシャットダウンし、残りのサーバーにテストをプッシュしながら再起動するジョブをスケジュールする必要があります。次に、他のサーバー上のスケジュールされたジョブと同じプロセスを繰り返します。テストを中断することなくSeleniumノードのシャットダウンをスケジュールする方法はありますか?
現在のテストが終了したら、セレニウムノードをシャットダウンする方法はありますか?または、特定のノードの状態を取得して、スケジューリングされたジョブでそれぞれ自分自身をチェックして、ノードをシャットダウンする前にノードがテストを実行していないことを確認できますか?あなたが/sessions
コマンドを使用して各ノードを要求することにより、アクティブなセッションの数を確認することができ
ありがとう。以前はこれを見ていましたが、ハブのクエリであると思っていました。使用する際にいくつかのエラーが発生しました。ここで確認した後で、http://:/wd/hub/sessionsとして使用されています。 –
Sh3mm
質問に続きます:私はあなたが言及したコマンドを使用してアクティブなセッションを持っているノードを見ることができます。しかし、私がノードをシャットダウンしようとすると、http:// node_ip_address:port/selenium-server/driver /?cmd = shutDownSeleniumServerとなります。シャットダウンからハブによる使用中に削除されるまでの待機時間は、新しいテストがそのノードに割り当てられないように十分速くありません。そのプロセスをスピードアップする方法、または実際にノードを削除するのではなく、実際にノードを登録解除する方法を知っていて、ハブでタイムアウトしてグリッドから削除されるのを待っていますか? – Sh3mm
メインハブにコマンドを送信してノードの登録を解除することはできないようです。 –