2011-07-07 81 views
1

我已经设置了Selenium Grid2,我有一个让我疯狂的两难境地。Selenium Grid2端口不能只在端口4444上工作

如果我在默认端口(4444)启动集线器,由于某种原因,我所有的HTTP请求重定向到一个页面,上面写着

您正在使用 官方硒电网.0.0Find帮助wiki:更多帮助 这里

这发生在所有浏览器和任何连接到互联网的应用程序。

如果我将端口更改为其他任何内容,则不会发生该问题,但随后在Internet Explorer(特定于IE8)中进行测试不再有效。它们失败时会出现无法找到元素的错误。

这也发生在非网格设置中,仅使用服务器(selenium-server-standalone-2.0rc3.jar),而不是网格消息,所有HTTPS连接都不可信。

任何想法?

+0

您使用的是rc3版本吗? –

+0

是的,我也试过它与最新的编译版本,相同的结果 – prestomanifesto

+0

所以我尝试了它在家里,它完美的作品,即使与其他端口。防火墙可能?不知道如何找出问题 – prestomanifesto

回答

0

这是您获取“/”资源时获得的页面。但是你关心的任何页面几乎可以肯定是处于另一种情况下。下面是从集线器的代码中的相关部分:

root.addServlet("/*", DisplayHelpServlet.class.getName());

root.addServlet("/grid/console/*", ConsoleServlet.class.getName()); 
    root.addServlet("/grid/register/*", RegistrationServlet.class.getName()); 
    // TODO remove at some point. Here for backward compatibility of 
    // tests etc. 
    root.addServlet("/grid/driver/*", DriverServlet.class.getName()); 
    root.addServlet("/wd/hub/*", DriverServlet.class.getName()); 
    root.addServlet("/selenium-server/driver/*", DriverServlet.class.getName()); 
    root.addServlet("/grid/resources/*", ResourceServlet.class.getName()); 

    root.addServlet("/grid/api/proxy/*", ProxyStatusServlet.class.getName()); 
    root.addServlet("/grid/api/testsession/*", TestSessionStatusServlet.class.getName()); 

    // Selenium Grid 1.0 compatibility routes for older nodes trying to 
    // work with the newer hub. 
    root.addServlet("/registration-manager/register/*", RegistrationServlet.class.getName()); 
    root.addServlet("/heartbeat", Grid1HeartbeatServlet.class.getName()); 

你有你的节点连接到正确的网址是什么?他们应该从-hub http://localhost:4444/grid/register之类的东西开始正确注册。

+0

这就是我注册节点的方式。我不想嘲笑它,但我认为最新版本(2.0.0)解决了这个问题 – prestomanifesto