Указание пути к классу для отдельной банки - PullRequest
0 голосов
/ 24 июня 2011

Я пытался настроить Selenium Grid, и вместо того, чтобы использовать конфигурацию ant, доступную для загрузки Selenium Grid, я продолжил использовать свою конфигурацию ant.

Для пользователей ant, которые не знают о Selenium Gird - это java-библиотека, которая позволяет распространять тесты пользовательского интерфейса на разные системы, указанные в одном файле "yml". Здесь я могу запустить одну машину-концентратор, которая, в свою очередь, может управлять браузером на разных подчиненных машинах.

Конфигурация 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>

Теперь при использовании этой конфигурации мой концентратор всегда начинается с файла "yml", который доступен в "selenium-grid-hub-standalone-1.0.8.jar", вместо того, чтобы рассматривать файл "yml", который я определил на своем корень проекта.

После этого я изменил конфигурацию муравья следующим образом, которая доступна в дистрибутиве Selenium Grid -

<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".

Я не фанат муравья, но нахожу обе конфигурации почти схожими, первая конфигурация зависит от цели, в то время как другая использует "pathid". Кто-нибудь, кто мог бы пролить свет на это?

1 Ответ

0 голосов
/ 24 июня 2011

Я думаю, что разница в том, что classpath во втором примере включает в себя корневой каталог вашего проекта:

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

, тогда как в первом нет.

...