0

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

我根本无法让多环境的东西正常工作,而且我一直在尝试和手动审查一段时间。任何建议和帮助将不胜感激!

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

[java] 配置失败:@BeforeMethod startFirstEnvironment("localhost", 4444, "*safari", " http://remoteURL:8080/tutor ") [java] java.lang.RuntimeException: 无法启动 Selenium 会话:错误:连接被拒绝

我认为这可能是 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>

4

1 回答 1

0

是的,我觉得很傻。经过相当多的摆弄后,我意识到将构建文件中的 seleniumHost 属性更改为运行 selenium-RC 实例的机器的 IP。将它作为本地主机只是在循环,或者类似的东西。

于 2010-03-10T21:58:15.243 回答