18 January 2026:


This forum is now archived and is in read-only mode. Please continue discussions on our improved new Sahi Pro Community forum.



Sahi Pro is an enterprise grade test automation platform which can automate web, mobile, API, windows and java based applications and SAP.

Ant task problems

xumixxumix Members
edited November -1 in Sahi - Open Source
Properties:
sahidir=${basedir}/../../libs/sahi/
ie-exe=C:\\Program Files\\Internet Explorer\\iexplore.exe
ff-exe=c:\Program Files (x86)\Mozilla Firefox\firefox.exe
suite=${basedir}/scripts/All.suite
browser=ie
baseurl=xttp://sdkdev/Deploy/
junit-log-dir=${sahidir}/logs/junit/
server-ping-url=xttp://sdkdev/Deploy/LoginForm.aspx
proxy-ping-url=xttp://localhost:9999/_s_/spr/launch.htm
<?xml version="1.0" encoding="utf-8"?>
<project name="project" default="all">
    <property file="build.properties"/>
    <path id="global.path">
      <pathelement path="${classpath}"/>
      <pathelement location="${sahidir}/lib/ant-sahi.jar"/>
      <fileset dir="${sahidir}/lib">
        <include name="**/*.jar"/>
      </fileset>
      <fileset dir="${sahidir}/extlib">
        <include name="**/*.jar"/>
      </fileset>
    </path>
    <taskdef name="sahi" classname="net.sf.sahi.ant.RunSahiTask"
             classpath="${sahidir}/lib/ant-sahi.jar" classpathref="global.path"/>

    <target name="run-ff-tests">
        <sahi suite="${suite}"
              browser="${ff-exe}"
              baseurl="${baseurl}"
              sahihost="localhost"
              sahiport="9999"
              failureproperty="sahi.failed"
              haltonfailure="true"
              browserProcessName="firefox.exe"
              browseroption="-profile ${basedir}/userdata/browser/ff/profiles/sahi$threadNo -no-remote"
              threads="3">
            <report type="html"/>
            <report type="junit" logdir="${junit-log-dir}"/>
        </sahi>
    </target>

    <target name="run-ie-tests">
        <antcall target="proxyon"/>
        <sahi suite="${suite}"
              browser="${ie-exe}"
              baseurl="${baseurl}"
              sahihost="localhost"
              sahiport="9999"
              failureproperty="sahi.failed"
              haltonfailure="true"
              browserProcessName="iexplore.exe"
              browseroption="-nomerge"
              threads="3">
            <report type="html"/>
            <report type="junit" logdir="${junit-log-dir}"/>
        </sahi>
        <antcall target="proxyoff"/>
    </target>

    <target name="stopserver">
        <echo message="Dummy Stop Server: Modify target to stop your own application server."/>
        <get dest="stopserver.htm" src="xttp://localhost:10000/dyn/stopserver" ignoreerrors="true"/>
        <delete file="stopserver.htm"/>
    </target>

    <target name="startserver">
        <echo message="Dummy Start Server: Modify target to start your own application server."/>
        <java classname="net.sf.sahi.WebServer" fork="true" dir="${sahidir}/bin"
              jvmargs="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006">
            <classpath location="${sahidir}/lib/sahi.jar"/>
        </java>
    </target>

    <target name="all">
        <parallel>
            <antcall target="startsahi"/>
            <antcall target="startserver"/>
            <sequential>
                <waitfor maxwait="3" maxwaitunit="minute" checkevery="100">
                    <xttp url="${server-ping-url}"/>
                </waitfor>
                <waitfor maxwait="3" maxwaitunit="minute" checkevery="100">
                    <xttp url="${proxy-ping-url}"/>
                </waitfor>
                <antcall target="sahi-tests"/>
            </sequential>
        </parallel>
    </target>

    <target name="sahi-tests" depends="run-ie-tests, stopsahi, stopserver, failsahi">
    </target>

    <target name="failsahi" if="sahi.failed">
        <fail message="Sahi tests failed!"/>
    </target>

    <target name="startsahi" description="starts proxy">
        <java classname="net.sf.sahi.Proxy" fork="true" dir="${sahidir}/bin">
            <!--<env key="MOZ_NO_REMOTE" value="1"/>-->
            <classpath location="${sahidir}/lib/sahi.jar">
                <fileset dir="${sahidir}/extlib" includes="**/*.jar"/>
            </classpath>
        </java>
    </target>

    <target name="stopsahi" description="stop sahi server">
        <sahi stop="true" sahihost="localhost" sahiport="9999"/>
    </target>

    <target name="proxyon">
        <exec executable="${sahidir}/tools/toggle_IE_proxy.exe">
            <arg value="enable"/>
        </exec>
    </target>

    <target name="proxyoff">
        <exec executable="${sahidir}/tools/toggle_IE_proxy.exe">
            <arg value="disable"/>
        </exec>
    </target>

</project>


And I have this:
all:

startsahi:

startserver:
     [echo] Dummy Start Server: Modify target to start your own application server.
     [java] The jvmargs attribute is deprecated. Please use nested jvmarg elements.
     [java] Sahi properties file = C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\config\sahi.properties
     [java] Sahi user properties file = C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\bin\config\userdata.properties
     [java] Listening for transport dt_socket at address: 5006
     [java] java.io.FileNotFoundException: C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\bin\config\userdata.properties
(The system cannot find the path specified)
     [java]     at java.io.FileInputStream.open(Native Method)
     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:66)
     [java]     at net.sf.sahi.config.Configuration.loadProperties(Configuration.java:114)
     [java]     at net.sf.sahi.config.Configuration.init(Configuration.java:90)
     [java]     at net.sf.sahi.config.Configuration.init(Configuration.java:69)
     [java]     at net.sf.sahi.Proxy.main(Proxy.java:76)
     [java] Sahi properties file = C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\config\sahi.properties
     [java] Sahi user properties file = C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\config\userdata.properties
     [java] java.io.FileNotFoundException: C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\config\userdata.properties (The
 system cannot find the file specified)
     [java] >>>> Sahi demo web server started. Listening on port:10000
     [java]     at java.io.FileInputStream.open(Native Method)
     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:66)
     [java]     at net.sf.sahi.config.Configuration.loadProperties(Configuration.java:114)
     [java]     at net.sf.sahi.config.Configuration.init(Configuration.java:90)
     [java]     at net.sf.sahi.WebServer.<clinit>(WebServer.java:34)
     [java] >>>> Sahi started. Listening on port: 9999
     [java] >>>> Configure your browser to use this server and port as its proxy
     [java] >>>> Browse any page and CTRL-ALT-DblClick on the page to bring up the Sahi Controller

run-ie-tests:

proxyon:
     [sahi]
     [sahi] suiteName = C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\Werp.TestProject\Sahi/scripts/All.suite
     [sahi] browser = C:\Program Files\Internet Explorer\iexplore.exe
     [sahi] base = xttp://sdkdev/Deploy/
     [sahi] sahiHost = localhost
     [sahi] port = 9999
     [sahi] threads = 3
     [sahi] browserOption = -nomerge
     [sahi] browserProcessName = iexplore.exe
     [sahi] Added shutdown hook.
     [sahi] xttp://localhost:9999/_s_/dyn/Suite_start?suite=C%3A%5CTeam%5CTeamCity%5CbuildAgent%5Cwork%5Cd2bd9f5f19c47937%5Ctrunk%5CWerp.Tes
tProject%5CSahi%2Fscripts%2FAll.suite&base=xttp%3A%2F%2Fsdkdev%2FDeploy%2F&browser=C%3A%5CProgram+Files%5CInternet+Explorer%5Ciexplore.exe&t
hreads=3&browserProcessName=iexplore.exe&sahisid=sahi_c76fba930a9a4048cc099d40b6b75085fc85&html=&junit=C%3A%5CTeam%5CTeamCity%5CbuildAgent%5
Cwork%5Cd2bd9f5f19c47937%5Ctrunk%5CWerp.TestProject%5CSahi%2F..%2F..%2Flibs%2Fsahi%2F%2Flogs%2Fjunit%2F&browserOption=-nomerge
     [java] >>>>>>                Tests size = 1
     [java] #### Running Script: C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\Werp.TestProject\Sahi\scripts\FirstTest.sah
     [java] 08.06.2010 14:10:56 net.sf.sahi.test.ProcessHelper execute
     [java] INFO: "C:\Program Files\Internet Explorer\iexplore.exe" -nomerge "xttp://sahi.example.com/_s_/dyn/Player_auto?file=C%3A%5CTeam%5
CTeamCity%5CbuildAgent%5Cwork%5Cd2bd9f5f19c47937%5Ctrunk%5CWerp.TestProject%5CSahi%5Cscripts%5CFirstTest.sah__SahiAmpersandSahi__startUrl=ht
tp%3A%2F%2Fsdkdev%2FDeploy%2F__SahiAmpersandSahi__sahisid=sahi_c76fba930a9a4048cc099d40b6b75085fc85sahix144cf6bf0cbd50430a09c090fa313fd27114
x"
     [java] 08.06.2010 14:10:57 net.sf.sahi.test.ProcessHelper$PIDGatherer run
     [java] INFO: PIDs: [8560]; 671 ms
     [java] 08.06.2010 14:03:37 net.sf.sahi.RemoteRequestProcessor processxttp
     [java] WARNING: net.sf.sahi.util.FileNotFoundRuntimeException: java.io.FileNotFoundException: C:\Team\TeamCity\buildAgent\work\d2bd9f5f
19c47937\trunk\libs\sahi\bin\config\download_contenttypes.txt (The system cannot find the path specified)
     [java]     at net.sf.sahi.util.Utils.readFile(Utils.java:167)
     [java]     at net.sf.sahi.util.Utils.readFile(Utils.java:146)
     [java]     at net.sf.sahi.util.Utils.readCachedFile(Utils.java:139)
     [java]     at net.sf.sahi.config.Configuration.getDownloadContentTypes(Configuration.java:404)
     [java]     at net.sf.sahi.RemoteRequestProcessor.isDownloadContentType(RemoteRequestProcessor.java:317)
     [java]     at net.sf.sahi.RemoteRequestProcessor.processxttp(RemoteRequestProcessor.java:170)
     [java]     at net.sf.sahi.RemoteRequestProcessor.processxttp(RemoteRequestProcessor.java:81)
     [java]     at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:142)
     [java]     at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
     [java]     at java.lang.Thread.run(Thread.java:619)
     [java] Caused by: java.io.FileNotFoundException: C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\libs\sahi\bin\config\download_
contenttypes.txt (The system cannot find the path specified)
     [java]     at java.io.FileInputStream.open(Native Method)
     [java]     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     [java]     at net.sf.sahi.util.Utils.readFile(Utils.java:164)
     [java]     ... 9 more
     [java] Killing C:\Team\TeamCity\buildAgent\work\d2bd9f5f19c47937\trunk\Werp.TestProject\Sahi\scripts\FirstTest.sah
     [java] 08.06.2010 14:13:20 net.sf.sahi.test.ProcessHelper kill
     [java] INFO: Kill: [8560]
     [sahi] STATUS:FAILURE



 [parallel] Shutting down ...
     [java] Java Result: 1
     [java] Java Result: 1

BUILD FAILED


The questions:
1) How do I specify SAHI_HOME?
2) Why does it go to sahi.example.com?
3) Why does it look for configs in "bin"?

Comments

  • xumixxumix Members
    http is replaced to xttp, your forum is so annoing:)
    PS 60 sec interval.. omg
  • xumixxumix Members
    Noone?
  • narayannarayan Administrators
    Hi Xumix,

    You will need to pass arguments to specify the correct paths. Look at sahi/demo.xml if you run into problems with ant targets. Meanwhile, we will rectify sahi/batch_runnners/ant/sample.xml so that it shows the latest correct targets.
        <target name="start" description="starts proxy">
            <java classname="net.sf.sahi.Proxy" fork="true">
                <!--<env key="MOZ_NO_REMOTE" value="1"/>-->
                <classpath location="lib/sahi.jar">
                    <pathelement location="extlib/rhino/js.jar"/>
                    <pathelement location="extlib/apc/commons-codec-1.3.jar"/>
                    <fileset dir="extlib" includes="*.jar"/>
                </classpath>
                <arg value="." id="basePath"/>
                <arg value="userdata" id="userdataPath"/>
            </java>
        </target>
    

    Regards,
    Narayan
  • xumixxumix Members
    Thanks a lot! Missed those values in the demo
This discussion has been closed.