Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver Selenium 2网格-了解测试使用的节点_Selenium Webdriver_Selenium Grid - Fatal编程技术网

Selenium webdriver Selenium 2网格-了解测试使用的节点

Selenium webdriver Selenium 2网格-了解测试使用的节点,selenium-webdriver,selenium-grid,Selenium Webdriver,Selenium Grid,是否可以知道selenium网格中心分配给您的测试的节点?我的测试需要与节点机器上的其他服务对话,以便执行selenium不支持的配置 标记通常,您不应该依赖于知道您的测试运行在哪台机器上。网格2提供了一系列回调侦听器,您可以实现这些侦听器来提供机器配置。但是,如果您确实想查看测试在哪个节点上运行,可以使用其中一个API调用。可以在集线器上找到两个端点: 两者都没有被记录在案。但是如果您查看源代码,就可以直接看到它们是如何工作的。您想看看ProxyStatusServlet和TestSess

是否可以知道selenium网格中心分配给您的测试的节点?我的测试需要与节点机器上的其他服务对话,以便执行selenium不支持的配置


标记

通常,您不应该依赖于知道您的测试运行在哪台机器上。网格2提供了一系列回调侦听器,您可以实现这些侦听器来提供机器配置。但是,如果您确实想查看测试在哪个节点上运行,可以使用其中一个API调用。可以在集线器上找到两个端点:


两者都没有被记录在案。但是如果您查看源代码,就可以直接看到它们是如何工作的。您想看看ProxyStatusServlet和TestSessionStatusServlet。

谢谢您。我来看看密码。您提到的回调侦听器是否有文档记录?不幸的是,还没有。但是如果您查看org.openqa.grid.internal.listeners包中类的JavaDocs,您应该能够开始了。Grid在内部也使用这些侦听器来执行其大部分工作,所以您可以查看一些具体的实现。如果您能提供任何关于这些文件的帮助,我也将不胜感激:-)我非常忙,直到十月初,但在那之后我很乐意帮忙。
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]);