Я пытался настроить 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". Кто-нибудь, кто мог бы пролить свет на это?