Sahi - Web Automation and Test Tool
Documentation in this directory is not current.
Please visit http://sahi.co.in/ for the latest documentation.
Ant Integration
Sahi
Description
Runs a suite of sahi files. This opens multiple browser windows , executes sahi scripts, and logs the results. The build can be made to fail based on a failureproperty.
Parameters
| Attribute | Description | Required |
| suite | path to suite file | |
| browser | Path to browser executable | |
| baseurl | url relative to which all urls to be tested will be resolved | |
| sahihost | IP or hostname of server where sahi is running | |
| sahiport | port where sahi is running | |
| failureproperty | Name of property which will be set to false in case build fails. | |
| haltonfailure | Takes "true" or "false". Specifies if build should stop executing other tests if one test fails. | |
| threads | Number of simultaneous browser instances where sahi tests will be run. Do not use this property if using firefox. | optional |
| logdir | Directory to output this suite's results. If absent, uses the default playback logs dir. | optional |
Example
build xml for running the sample web server bundled with sahi.The demo could be run by running "ant -f demo.xml sahitests" from the sahi base folder.
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="demo" default="sahitests">
<taskdef name="sahi" classname="net.sf.sahi.ant.RunSahiTask" classpath="lib/ant-sahi.jar"/>
<target name="sahitests" description="start the server and run sahi tests">
<parallel>
<sequential>
<waitfor maxwait="3" maxwaitunit="minute" checkevery="100">
<http url="http://localhost:10000/demo/index.htm"/>
</waitfor>
<antcall target="proxyon"/>
<sahi suite="../scripts/demo.suite"
browser="C:\\Program Files\\Internet Explorer\\iexplore.exe"
baseurl="http://localhost:10000/demo/"
sahihost="localhost"
sahiport="9999"
failureproperty="sahi.failed"
haltonfailure="false"
threads="2"
logdir="D:\demo\logs"
/>
<antcall target="proxyoff"/>
<antcall target="stop-web"/>
<antcall target="failsahi"/>
</sequential>
<antcall target="start-web"/>
</parallel>
</target>
<target name="failsahi" if="sahi.failed">
<fail message="Sahi tests failed!"/>
</target>
<target name="start-web" description="starts web">
<java classname="net.sf.sahi.WebServer" fork="true" dir="bin" >
<classpath location="lib/sahi.jar"/>
</java>
</target>
<target name="stop-web" description="stop web server">
<get dest="stopserver.htm" src="http://localhost:10000/dyn/stopserver" ignoreerrors="true" />
<delete file="stopserver.htm"/>
</target>
<target name="sahireport" description="show report">
<exec command="C:\\Program Files\\Internet Explorer\\iexplore.exe file:///C:/my/sahi/logs/playback/"/>
</target>
<target name="start" description="starts proxy">
<java classname="net.sf.sahi.Proxy" fork="true" dir="bin">
<classpath location="lib/sahi.jar"/>
</java>
</target>
<target name="proxyon">
<exec executable="tools/toggle_IE_proxy.exe">
<arg value="enable"/>
</exec>
</target>
<target name="proxyoff">
<exec executable="tools/toggle_IE_proxy.exe">
<arg value="disable"/>
</exec>
</target>
</project>