如何运行Sahi测试作为Hudson构建的一部分?

时间:2010-11-10 03:28:55

标签: continuous-integration hudson maven-plugin sahi

absence of a Maven plugin for Sahi中,从Hudson运行Sahi测试的最简单方法是什么?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:-1)

你可以使用maven Surefire插件调用sahi junit测试用例,然后与Jenkin服务器集成