连接拒绝通过Ubuntu 9.04在Selenium Grid 1.04上运行多个环境

时间:2010-03-08 19:00:57

标签: macos ubuntu selenium selenium-grid

我正在编写一个selenium网格测试套件,它将在一系列不同的机器上运行。我在macbook上写了大部分内容,但最近将它转移到我的工作机器上,它运行的是ubuntu 9.04。这实际上是我第一次使用linux机器,所以我可能会遗漏一些非常简单的东西(虽然我已经禁用了防火墙)。

我根本无法让多环境工作,我一直在尝试和手动审查。非常感谢任何建议和帮助!

我在运行测试时遇到的错误是:

  

[java] FAILED CONFIGURATION:@BeforeMethod startFirstEnvironment(“localhost”,4444,“* safari”,“http://remoteURL:8080/tutor”)   [java] java.lang.RuntimeException:无法启动Selenium会话:ERROR:拒绝连接

我认为可能是mac拒绝连接,但是使用wireshark我确定没有在mac上进行连接尝试。这是设置会话的代码,它似乎正在濒临死亡

  @BeforeMethod(groups = {"default", "example"}, alwaysRun = true)

  @Parameters({"seleniumHost", "seleniumPort", "firstEnvironment", "webSite"})
  protected void startFirstEnvironment(String seleniumHost, int seleniumPort, String firstEnvironment, String webSite) throws Exception {

 try{
startSeleniumSession(seleniumHost, seleniumPort, firstEnvironment, webSite);
session().setTimeout(TIMEOUT);

  } finally {

  closeSeleniumSession();

  }

}

@BeforeMethod(groups = {"default", "example"}, alwaysRun = true)
@Parameters({"seleniumHost", "seleniumPort", "secondEnvironment", "webSite"})

  protected void startSecondEnvironment(String seleniumHost, int seleniumPort, String    secondEnvironment, String webSite) throws Exception {
 try{
    startSeleniumSession(seleniumHost, seleniumPort, secondEnvironment, webSite); 
session().setTimeout(TIMEOUT);
    } finally {
        closeSeleniumSession();
    }
}

以及用于运行测试的随附构建脚本

  <target name="runMulti" depends="compile" description="Run Selenium tests in parallel (20 threads)">
      <echo>${seleniumHost}</echo>
   <java classpathref="runtime.classpath"
   classname="org.testng.TestNG"
   failonerror="true">

 <sysproperty key="java.security.policy" file="${rootdir}/lib/testng.policy"/>
 <sysproperty key="webSite" value="${webSite}" />
 <sysproperty key="seleniumHost" value="${seleniumHost}" />
 <sysproperty key="seleniumPort" value="${seleniumPort}" />
 <sysproperty key="firstEnvironment" value="${firstEnvironment}" />
 <sysproperty key="secondEnvironment" value="${secondEnvironment}" />
 <arg value="-d" />
 <arg value="${basedir}/target/reports" />
 <arg value="-suitename" />
 <arg value="Selenium Grid Java Sample Test Suite" />
 <arg value="-parallel"/>
 <arg value="methods"/>
 <arg value="-threadcount"/>
 <arg value="15"/>
 <arg value="testng.xml"/>
</java>

1 个答案:

答案 0 :(得分:0)

是的,我觉得很傻。经过大量的调整后,我意识到将构建文件中的seleniumHost属性更改为运行selenium-RC实例的机器的IP。将它作为本地主机只是制作一个循环,或类似的东西。