2017-07-20 17 views
0

初めてSelenium Gridを設定しようとしています。 私はハブとローカルノードを実行することができました。 私はVM上のノードを実行しようとしたら、私はというエラーを取得:初めてSelenium-Gridを起動し、リモートマシンが接続を拒否します

INFOを - このノードを登録できませんでした:に接続します:登録 要求送信エラー[/] 4445に失敗しました:接続をタイムアウトになった: は

INFOを接続する - このノードを登録できませんでした:への接続::これはハブが応答停止しているかいない である4445 [/]失敗しました:接続がタイムアウトしました:

Iを接続ハブを実行して:

java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4445 

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://localhost:4445/grid/register/ 

とローカル・ノードとの両方

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<local machine ip>:4445/grid/register/ 

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<host ip>:4445/grid/register/ 

として、リモート・ノードを実行しようとした私がメッセージから取りましたハブ端末セッション:

12:24:55.593 INFO - ノードがHTTPに登録する必要があり://:4445 /グリッド//

レジスタIは(ハブとノード)ファイアウォールの両側に(念のため)、ポート4444および4445を開い。

誰かがなぜそれがうまくいかないのか考えていますが、新しいノードがハブに接続するのを助けるために何ができるでしょうか?

Thxを

編集Murthi最初のコメントの後:

java -jar selenium-server-standalone-3.4.0.jar -role node -hub <hub-machine-ip> 

と:: 私は両方を実行しようとした

java -jar selenium-server-standalone-3.4.0.jar -role node -hub <hub-machine-ip> -hubHost <host-ip> 

との両方のケースで、cmdは私にすべてのオプションを記載されていますセレニウムグリッドの

私はまた、実行しようとした:

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<hub-machine-ip>:4445/grid/register -host <host-ip> 

をし、私は戻って私が以前接続タイムアウト

編集7分の25の受信エラーになった: ハブOSは、Mac OSは、Xヨセミテ ですノードOSはWindows 7 SP1 ハブマシンからハブ作成とノードマシンからのノード作成を実行しました。私が受け取るエラーは常に同じです: このノードを登録できませんでした:ハブがダウンしているか、または応答していません:接続先:4444 [/]失敗:接続タイムアウト:接続 私はこのメッセージをコマンドライン端子、ノードマシン

+0

登録している間にハブのマシンにipを入力する必要があります – Murthi

+0

試した後に私の質問を編集しましたが、おそらく私はそれを正しくしませんでしたか? –

+0

リモートマシンでそのノードコマンドを開始しましたか? psexecなどのリモートアクセスツールを使用しない限り、ハブマシンから起動することはできません – acikojevic

答えて

0

であなたは、TCP/UDPポート転送を有効に

java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://<host ip>:4444/grid/register/ 

を使用してVM上

java -jar selenium-server-standalone-3.4.0.jar -role hub 

とノードを使用して、ローカルマシンにハブを開始vmノードでは4444、ハブ・マシンでは5555です。 これはあなたのために働くかもしれません。

+0

にnodeコマンドを実行しましたか?またはセレングリッドホスト?それらは私のための2つの別々のipsです。 –

+0

host ipはハブマシンのIPです。ローカルマシンでハブを実行している場合あなたのローカルマシンのipを見つけて、あなたのノード登録要求に同じipを与える必要があります。 – Murthi

+0

これはうまくいきません。私はファイアウォール(ローカルとリモートの両方)にあるすべてのポートを開いて、接続時間がまだ –

0

ノードを起動すると、Seleniumは自分のIPアドレスが何であるかを調べてから、そのノードをハブに登録します。場合によっては、マシンに2つのIPアドレス(公開されているものと公開されていないもの)があり、セレンは公開されていないものを見つけて登録することがあります。これが起こると、ノードはハブに登録要求を送信し、登録も成功するが、その側のハブはノードを定期的にポーリングして、そのノードが生きているかどうかをチェックし、そうでなければそのノードをそれを取り除いてください。ハブがノードにpingを試みると、ノードが自身を識別するidを使用します(idは、ノードが送信したノードのIPとポートを使用して形成されることが最も多い)。

ここでは、ボトルネックが正確にどこにあるか把握するために何を試みることができます。

まず、あなたのノードに大混乱の原因となっているポート(または)IPの問題があるかどうかを調べる必要があります。このため、ノード・マシンで、以下のコマンドを使用してノードを開始

java -jar selenium-server-standalone-3.4.0.jar -role node

これは5555ポートでリッスンし、localhost上で実行されているとリッスンハブに自身を登録しようとしているセレンノードをオフにスピンポート4444。あなたはあなたの画面に多くの失敗を見るでしょう(今は無視してください)。別のマシンの試みから今

あなたはセレンのロゴをダウンロード(または)を取得する必要がありHTTPGETwget経由またはcurl経由またはWebブラウザで以下のURLを開くことによって)

http://<IP_Of_Node_Machine_Goes_Here>:5555/assets/selenium.png

をトリガあなたのブラウザに表示されます。

問題が発生した場合、この手順では基本的にIPの問題(またはポートの問題)があることを確認します。

は、まず、8080として別のポートに切り替えてみてください、それはそれらのどの把握して、コマンド

java -jar selenium-server-standalone-3.4.0.jar -role node -port 8080

を使用して、その上にノードを開始し、http://<IP_Of_Node_Machine_Goes_Here>:8080/assets/selenium.png

もし当たってみてくださいするにはあなたは今ロゴを表示しています。それは実際に受信トラフィック用にノードマシンでブロックされていた5555を意味します(開く必要があります)。

ロゴが表示されない場合は、おそらく内部IP /外部IPの問題に直面している可能性があります。これを固定するには、ノードを起動するときに、外部に公開されているボックスのIPを入力し、-hostパラメータを使用して入力します。

もう1つのオプションは、ハブとノードの両方を8080ポートで実行することです(別のマシンで実行されているため、ポートの競合はないはずです)。私が8080を提案する理由は、このポートがデフォルトのHttpポートであるために最も頻繁にブロックされないためです。

あなたの問題を解決するのに役立つ希望。

+0

こんにちはクリシュナン!助けてくれてありがとう! 最初の試行でセレンのロゴが表示されているので、ip/port関連の問題ではないと思います。あなたは他のアイデアを持っていますか? –

+0

あなたは私に次のことを教えてもらえますか?ハブのOSとノードのOSは?どのマシンからURLをロードしましたか?私はそれがハブマシンまたは3台目のマシンからであって、ノードマシンからではないと仮定しています。また、あなたの質問を編集し、表示されているエラーのスタックトレースと、どのマシンの詳細が表示されているかの詳細を助けてください。明らかに、問題としてここに際立つものは何もないので、ネットワークで何かを憶測しているので、大混乱です。だからあなたはより多くの情報を共有しています。 –

関連する問題