2011-06-24 9 views
0

私はSelenium Gridをセットアップしようとしていましたが、Selenium Gridで使用可能なant構成を使用する代わりに、私はant構成を使用し続けました。個々のjarのクラスパスを指定

Selenium Girdを認識していないantユーザーの場合、1つの "yml"ファイルで指定された別のシステムにUIテストを配布できるようにするjava libです。ここでは、1台のハブマシンを起動し、別のスレーブマシン上のブラウザをCtrlキーで操作できます。私が使っていた

Antの設定 -

<target name="setClassPath"> 
    <path id="classpath_jars"> 
     <fileset dir="${lib.dir}" includes="*.jar"/> 
    </path> 
    <pathconvert pathsep=":" property="test.classpath" 
     refid="classpath_jars" /> 
</target> 

<target name="launch-hub" description="Launch Selenium Hub" depends="setClassPath"> 
    <java classname="com.thoughtworks.selenium.grid.hub.HubServer" 
     classpathref="classpath_jars" 
     fork="true" 
     failonerror="true"> 

     <sysproperty key="http.proxyHost" value="${http.proxyHost}" /> 
     <sysproperty key="http.proxyPort" value="${http.proxyPort}" /> 
     <sysproperty key="https.proxyHost" value="${https.proxyHost}" /> 
     <sysproperty key="https.proxyPort" value="${https.proxyPort}" /> 

    </java> 
</target> 

を今すぐこの設定を使用している間、私のハブは常にセレングリッド・ハブ・スタンドアロン-1.0.8」で提供され、「YML」ファイルで始まります。私は自分のプロジェクトのルート上で定義した "yml"ファイルを考慮する代わりに、 "jar"を使用します。

<path id="hub.classpath"> 
    <pathelement path="${basedir}/"/> 
    <fileset dir="${basedir}/lib"> 
     <include name="selenium-grid-hub-standalone-1.0.8.jar"/> 
    </fileset> 
</path> 

<target name="launch-hub" description="Launch Selenium Hub"> 
    <java classname="com.thoughtworks.selenium.grid.hub.HubServer" 
      classpathref="hub.classpath" 
      fork="true" 
      failonerror="true" > 

     <sysproperty key="http.proxyHost" value="${http.proxyHost}"/> 
     <sysproperty key="http.proxyPort" value="${http.proxyPort}"/> 
     <sysproperty key="https.proxyHost" value="${https.proxyHost}"/> 
     <sysproperty key="https.proxyPort" value="${https.proxyPort}"/> 
    </java> 
</target> 

そして、私はハブを起動したときに、今、それは私のプロジェクトで定義された「YML」ファイルを検討 -

がこれに続いて、私はセレングリッドの配布で提供されており、以下のよう蟻の設定を変更しました「selenium-grid-hub-standalone-1.0.8.jar」ファイルで利用可能なものではありません。

私はアリの愛好家ではありませんが、私はどちらの構成もほぼ同じですが、最初の構成はターゲットに依存し、他の構成は「パスID」を使用しています。これを軽視できる人は誰ですか?

答えて

0

私は差が第2の例では、クラスパスは、プロジェクトのルートディレクトリが含まれていることだと思う:

<pathelement path="${basedir}/"/> 

最初のものはないのに対し。

+0

実際にプロパティlib.dirは - として定義されているため、basedirの参照があり、ビルド全体を投稿することができますそれはポストlooooong投稿 – Tarun

+0

しかし、 '$ {basedir}'自体はクラスパス上の最初の例では、右ですか?これは、あなたが理解しているなら、あなたが使用したいymlファイルがあるディレクトリです。 – sudocode

+0

あなたは天才ですね:-)、私はこれで長い間私の頭を盗んでいた... – Tarun

関連する問題