Question

In the absence of a Maven plugin for Sahi, what's the easiest way to run Sahi tests from Hudson?

Was it helpful?

Solution

You do have a tutorial for integrating Hudson with Sahi, but it is based on a free-style project, and a Ant task (as Pascal Thivent commented)

alt text

with 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>

OTHER TIPS

you can use maven Surefire plugin call sahi junit test case, then integrated with Jenkin server

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top