セレングリッドハブがテストに割り当てられたノードを知ることは可能ですか?私のテストでは、セレンでサポートされていない構成を実行するために、ノードマシン上の他のサービスと通信する必要があります。
マーク
セレングリッドハブがテストに割り当てられたノードを知ることは可能ですか?私のテストでは、セレンでサポートされていない構成を実行するために、ノードマシン上の他のサービスと通信する必要があります。
マーク
一般に、テストが実行されているマシンを知っていることに依存するべきではありません。Grid 2 は、マシン構成を提供するために実装できる一連のコールバック リスナーを提供します。ただし、テストが実行されているノードを実際に確認したい場合は、API 呼び出しの 1 つを使用できます。両方のエンドポイントがハブにあります。
http://localhost:4444/grid/api/proxy
http://localhost:4444/grid/api/testsession
どちらもまだ文書化されていません。しかし、ソースを表示すると、それらがどのように機能するかを簡単に確認できます。ProxyStatusServlet と TestSessionStatusServlet を確認します。
String hub = "grid_server_host"; //IP or hostname of GRID
int port = 4444; // port no.
HttpHost host = new HttpHost(hub,port);
DefaultHttpClient client = new DefaultHttpClient();
String url = host + "/grid/api/testsession?session=";
URL session = new URL(url + ((RemoteWebDriver) webdriver).getSessionId());
BasicHttpEntityEnclosingRequest req;
req = new BasicHttpEntityEnclosingRequest("POST", session.toExternalForm());
org.apache.http.HttpResponse response = client.execute(host,req);
JSONObject object = new JSONObject(EntityUtils.toString(response.getEntity()));
String proxyID = (String) object.get("proxyId");
String node = (proxyID.split("//")[1].split(":")[0]);