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 に答える