2013-01-17 6 views
0

Я пытаюсь использовать ANT, чтобы запустить экземпляр селеновой сетки. Используя ответ нашел здесь, How can I run Selenium 2 Grid from an Ant build?, я смог запустить сетку успешно используя следующую build.xmlSelenium Grid/Sauce Labs Plugin/Ant setup

<project name="selenium-grid" default="launch-hub" basedir="."> 
    <property name="selenium.version" value="2.28.0"/> 
    <property name="sauce.version" value="1.0.8"/> 
    <path id="selenium.classpath"> 
    <pathelement path="${basedir}/"/> 
    <fileset dir="${basedir}/"> 
     <include name="selenium-server-standalone-${selenium.version}.jar"/>  
     <include name="sauce-grid-plugin-${sauce.version}.jar"/> 
    </fileset> 
    <pathelement path="${java.class.path}/"/> 
    </path> 
    <target name="launch-hub" 
      description="Launch Selenium Hub"> 
    <java classname="org.openqa.grid.selenium.GridLauncher" 
      classpathref="selenium.classpath" 
      fork="true" 
      failonerror="true">  
     <arg value="-role"/> 
     <arg value="hub"/>  
    </java>  
    </target> 
</project> 
ant launch-hub

Moving, я хотел бы использовать Соус Labs Сетка Plug-in с Selenium Grid которые можно найти здесь: https://github.com/rossrowe/sauce-grid-plugin/wiki После вики, я могу начать два на моей машине окон, используя следующие из DOS

java -cp selenium-server-standalone-2.25.0.jar;sauce-grid-plugin-1.0.7.jar org.openqa.grid.selenium.GridLauncher -role hub -servlets com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet

Теперь я хочу, чтобы включить соус лаборатории сервлетов, добавив к цели «launch- хаб " аргументы для соуса лаборатории «сервлет» (извини возникли проблемы размещения реального кода)

arg value="-servlets" 
arg value="com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet"

Я возобновлен используя

ant launch
и вот здесь ошибка, возвращаемое окно:

 
launch-hub: 
    [java] 17 janv. 2013 10:58:40 org.openqa.grid.selenium.GridLauncher main 
    [java] INFO: Launching a selenium grid server 
    [java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet 
    [java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandAdminServlet cannot be instanciated com.sau 
celabs.grid.SauceOnDemandAdminServlet 
    [java] 17 janv. 2013 10:58:50 org.openqa.grid.web.utils.ExtraServletUtil createServlet 
    [java] ATTENTION: The specified class : com.saucelabs.grid.SauceOnDemandConsoleServlet cannot be instanciated com.s 
aucelabs.grid.SauceOnDemandConsoleServlet 
    [java] 2013-01-17 10:58:50.806:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT 
    [java] 2013-01-17 10:58:50.866:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null} 
    [java] 2013-01-17 10:58:50.876:INFO:osjs.AbstractConnector:Started [email protected]:4444`enter code here 

Селена Сетка начинается но без сервлетов, поэтому доступ к Saucelabs не поддерживается

Любые идеи?

Обновление Получил его, используя 1.0.7 плагина для соуса. Не идут с версии 1.0.8

ответ

1

Я был в состоянии получить сервер Сетки успешно работает с Соус сетки плагин используя ваш build.xml с дополнительными аргументами, например

<project name="selenium-grid" default="launch-hub" basedir="."> 
    <property name="selenium.version" value="2.25.0"/> 
    <property name="sauce.version" value="1.0.8"/> 
    <path id="selenium.classpath"> 
     <pathelement path="${basedir}/"/> 
     <fileset dir="${basedir}"> 
      <include name="selenium-server-standalone-${selenium.version}.jar"/> 
      <include name="sauce-grid-plugin-${sauce.version}.jar"/> 
     </fileset> 
     <pathelement path="${java.class.path}/"/> 
    </path> 
    <target name="launch-hub" 
      description="Launch Selenium Hub"> 
     <java classname="org.openqa.grid.selenium.GridLauncher" 
       classpathref="selenium.classpath" 
       fork="true" 
       failonerror="true"> 
      <arg value="-servlets"/> 
      <arg value="com.saucelabs.grid.SauceOnDemandAdminServlet,com.saucelabs.grid.SauceOnDemandConsoleServlet"/> 
      <arg value="-role"/> 
      <arg value="hub"/> 
     </java> 
    </target> 
</project> 

Глядя на Selenium Сетка-код, ошибка, возникающая в результате сборки, генерируется при генерации исключения ClassNotFoundException ... можете ли вы проверить, находится ли файл jar-файла с соке-сеткой в ​​$ {basedir}?

+0

Спасибо за быстрый ответ. К сожалению, это не сработало для меня. Да, обе банки находятся в $ {basedir}. У меня было исключение NullPointerException с использованием автономного сервера Selenium 2.25.0. Использование 2.28.0 разрешило Grid начинаться за вычетом сервлетов: -/ – Scott

+0

Хорошо, вы могли бы запустить ant с флагом -debug (например, ant -debug) и прикрепить выход журнала? В моей среде он включает в себя следующее: _Executing ..snip..java 'с аргументами: ' -classpath ' '/Developer/workspace/sauce-grid-plugin:/Разработчик/рабочая область/соус-сетка-плагин/соус -grid-plugin-1.0.8.jar: /Developer/workspace/sauce-grid-plugin/selenium-server-standalone-2.25.0.jar: 'org.openqa.grid.selenium.GridLauncher' '-серви « „com.saucelabs.grid.SauceOnDemandAdminServlet, com.saucelabs.grid.SauceOnDemandConsoleServlet“ „-ролевой“ » hub'_ (извинения за форматирование :) –

+0

Пожалуйста, не стесняйтесь поднимать вопрос в соусе Сетка Plugin [ (https://github.com/rossrowe/sauce-grid-plugin/issues) тоже :) –