2010-11-10 5 views
3

В absence of a Maven plugin for Sahi, что является самым простым способом запуска тестов Sahi из Хадсона?Как запустить тесты Sahi как часть сборки Hudson?

+0

Считаете ли вы использование муравьиной задачи? –

+2

FYI: «сахи» оказывается индийским словом для «правильного»: http://translate.google.com/#en|hi|sah%20hee – Zabba

+0

+1 для правильного перевода :) – Sagar

ответ

6

У вас есть tutorial for integrating Hudson with Sahi, но она основана на проекте в свободном стиле, а Ant task (как Pascal Thivent комментировал)

alt text

с zkdemo.xml and other Sahi ant tasks detailed here:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<project name="bids" default="runfftests"> 
    <property environment="env"/> 
    <property name="sahi.home" value="${env.SAHI_HOME}" location="/mnt/sda4/Sahi/sahi/" /> 
    <property name="user.data" value="${env.SAHI_USERDATA_DIR}" location="/mnt/sda4/Sahi/sahi/userdata" /> 
    <property name="urlbase" value="http://www.google.com/"/> 
    <taskdef name="sahi" classname="net.sf.sahi.ant.RunSahiTask" classpath="${sahi.home}/lib/ant-sahi.jar"/> 
    <target name="runfftests"> 
     <antcall target="startsahi"/> 
     <sleep seconds="4"/> 
     <sahi suite="${user.data}/scripts/my.suite" 
         browser="/usr/bin/firefox" 
         baseurl="${urlbase}" 
         sahihost="localhost" 
         sahiport="9999" 
         failureproperty="sahi.failed" 
         haltonfailure="false" 
         browserProcessName="firefox" 
         threads="3"> 
     </sahi> 
     <sleep seconds="4"/> 
     <antcall target="stopsahi"/> 
     <sleep seconds="4"/> 
     <antcall target="failsahi"/> 
    </target> 
    <target name="failsahi" if="sahi.failed"> 
     <fail message="Sahi tests failed!"/> 
    </target> 
    <target name="startsahi" description="start sahi proxy"> 
     <java classname="net.sf.sahi.Proxy" fork="true" spawn="true" dir="${sahi.home}"> 
      <!--<env key="MOZ_NO_REMOTE" value="1"/>--> 
      <classpath location="${sahi.home}/lib/sahi.jar"> 
       <fileset dir="${sahi.home}/extlib" includes="**/*.jar"/> 
      </classpath> 
      <arg value="${sahi.home}" id="basePath"/> 
      <arg value="${user.data}" id="userdataPath"/> 
     </java> 
    </target> 
    <target name="stopsahi" description="stop sahi server"> 
     <sahi stop="true" sahihost="localhost" sahiport="9999"/> 
    </target> 
</project> 
+0

Я не могу этого не сделать. –

+0

@Pascal: argh, двойные отрицания, они всегда меня отбрасывают;) – VonC

+0

+1 если вы предпочитаете :) –

-1

вы можете использовать maven Surefire plugin call sahi junit test case, затем интегрированы с сервером Jenkin