18 January 2026:
Sahi Pro is an enterprise grade test automation platform which can automate web, mobile, API, windows and java based applications and SAP.
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.
Unable to create java code for sahi script
Hi Team,
I am using Sahi 4.4 along with Mozila 5.0, IE10 on Win7 (and JDK1.7)
It’s been great working with Sahi tool,
However need to migrate Sahi code to Java code for some client requirement
below is java code along with error log
Sahi-Java code:>>
import net.sf.sahi.client.*;
import net.sf.sahi.config.Configuration;
public class SahiDriverDemo {
private static Browser browser;
private String sahiBase;
private String userDataDirectory;
public void setup()
{
sahiBase = "C:/Sahi/"; // where Sahi is installed or unzipped
userDataDirectory = "myuserdata";
Configuration.initJava(sahiBase, userDataDirectory); // Sets up configuration for proxy. Sets Controller to java mode.
//toggleIEProxy(true); // Not needed for Firefox. Needed for IE, Safari, Chrome on Windows
String browserPath = "C:\\Program Files\\Internet Explorer\\iexplore.exe";
String browserProcessName = "iexplore.exe";
String browserOption = "-noframemerging -extoff"; // "-noframemerging -extoff"; // Set to "-noframemerging -extoff" for IE 8, "" for IE 7
//browser = new Browser(browserPath, browserProcessName, browserOption);
browser = new Browser("IE");
browser.setSpeed(210);
browser.open();
browser.navigateTo("https://equip.syntel.in/login/login.asp"
;
browser.waitFor(1000);
//return browser;
}
public static void main(String[] args)throws Exception {
SahiDriverDemo sahi=new SahiDriverDemo();
sahi.setup();
// You can specify the browser you want to run the tests on. // browserType can take any value defined in // sahi/userdata/config/browser_types.xml // Create a browser and open it Browser browser = new Browser(browserType);
browser.textbox("txtloginName").setValue("5008130");
browser.password("txtPassword").setValue("oct@2013");
browser.submit("Submit").click();
browser.select("cboProject").choose("VH02-Hydrogen/MI");
browser.link("Go").click();
browser.div("Transaction").click();
browser.div("TAR").click();
browser.div("List").click();
browser.link("Go").click();
browser.select("cboTaskStatus").choose("Open");
browser.textbox("txtFromDt").setValue("");
browser.textbox("txtToDt").setValue("");
browser.link("Go").click();
if(browser.cell("No Records Found").exists())
{
System.out.println("No Records Found");
}
else
{
System.out.println("Records Found");
}
browser.link("Logout").click();
//sahi.toggleIEProxy(false);
}
public void toggleIEProxy(boolean enable){
try {
Runtime.getRuntime().exec(new String[]{sahiBase + "tools/toggle_IE_proxy.exe", (enable ? "enable" : "disable")});
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Error log:>>>>>>>>>
Sahi properties file = C:\Sahi\config\sahi.properties
Sahi user properties file =
\Verisk\VH-POC\Automation\Equip\Config\userdata.properties
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at net.sf.sahi.util.Utils.readURL(Utils.java:129)
at net.sf.sahi.util.Utils.readURL(Utils.java:111)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
java.lang.NullPointerException
at net.sf.sahi.util.Utils.readURL(Utils.java:137)
at net.sf.sahi.util.Utils.readURL(Utils.java:111)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.<init>(Unknown Source)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
Looking forward to your reply!!
Thanks in advance
Thanks,
Vishwam
I am using Sahi 4.4 along with Mozila 5.0, IE10 on Win7 (and JDK1.7)
It’s been great working with Sahi tool,
However need to migrate Sahi code to Java code for some client requirement
below is java code along with error log
Sahi-Java code:>>
import net.sf.sahi.client.*;
import net.sf.sahi.config.Configuration;
public class SahiDriverDemo {
private static Browser browser;
private String sahiBase;
private String userDataDirectory;
public void setup()
{
sahiBase = "C:/Sahi/"; // where Sahi is installed or unzipped
userDataDirectory = "myuserdata";
Configuration.initJava(sahiBase, userDataDirectory); // Sets up configuration for proxy. Sets Controller to java mode.
//toggleIEProxy(true); // Not needed for Firefox. Needed for IE, Safari, Chrome on Windows
String browserPath = "C:\\Program Files\\Internet Explorer\\iexplore.exe";
String browserProcessName = "iexplore.exe";
String browserOption = "-noframemerging -extoff"; // "-noframemerging -extoff"; // Set to "-noframemerging -extoff" for IE 8, "" for IE 7
//browser = new Browser(browserPath, browserProcessName, browserOption);
browser = new Browser("IE");
browser.setSpeed(210);
browser.open();
browser.navigateTo("https://equip.syntel.in/login/login.asp"
browser.waitFor(1000);
//return browser;
}
public static void main(String[] args)throws Exception {
SahiDriverDemo sahi=new SahiDriverDemo();
sahi.setup();
// You can specify the browser you want to run the tests on. // browserType can take any value defined in // sahi/userdata/config/browser_types.xml // Create a browser and open it Browser browser = new Browser(browserType);
browser.textbox("txtloginName").setValue("5008130");
browser.password("txtPassword").setValue("oct@2013");
browser.submit("Submit").click();
browser.select("cboProject").choose("VH02-Hydrogen/MI");
browser.link("Go").click();
browser.div("Transaction").click();
browser.div("TAR").click();
browser.div("List").click();
browser.link("Go").click();
browser.select("cboTaskStatus").choose("Open");
browser.textbox("txtFromDt").setValue("");
browser.textbox("txtToDt").setValue("");
browser.link("Go").click();
if(browser.cell("No Records Found").exists())
{
System.out.println("No Records Found");
}
else
{
System.out.println("Records Found");
}
browser.link("Logout").click();
//sahi.toggleIEProxy(false);
}
public void toggleIEProxy(boolean enable){
try {
Runtime.getRuntime().exec(new String[]{sahiBase + "tools/toggle_IE_proxy.exe", (enable ? "enable" : "disable")});
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Error log:>>>>>>>>>
Sahi properties file = C:\Sahi\config\sahi.properties
Sahi user properties file =
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at net.sf.sahi.util.Utils.readURL(Utils.java:129)
at net.sf.sahi.util.Utils.readURL(Utils.java:111)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
java.lang.NullPointerException
at net.sf.sahi.util.Utils.readURL(Utils.java:137)
at net.sf.sahi.util.Utils.readURL(Utils.java:111)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.<init>(Unknown Source)
at net.sf.sahi.client.Browser.execCommand(Browser.java:154)
at net.sf.sahi.client.Browser.setSpeed(Browser.java:998)
at SahiDriverDemo.setup(SahiDriverDemo.java:21)
at SahiDriverDemo.main(SahiDriverDemo.java:33)
Looking forward to your reply!!
Thanks in advance
Thanks,
Vishwam
Answers
It says that you're having a ConnectException. Either Sahi is not started or you're not able to connect to it.
Please check if Sahi is started when you're running the Sahi Java testcases.
Regards.