I'm unable to run my tests via Internet Explorer driver. Whenever i try to run the script, it opens up the IE but I get the error message as attached below. It's happening both in selenium 2.27.0 and 2.28.0.
Current selenium version: 2.27.0.
Driver: IE Driver
System: Windows 7 64 BIT
C:\Users\sirus\AppData\Local\Temp\idea_testng2398069505981052034.tmp
Connected to the target VM, address: '127.0.0.1:54285', transport: 'socket'
Started InternetExplorerDriver server (64-bit)
2.29.0.0
Listening on port 30052
org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 104%. It should be set to 100% (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.59 seconds
Build info: version: '2.28.0', revision: '18309', time: '2012-12-11 15:53:30'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_10'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:151)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:533)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:201)
at org.openqa.selenium.ie.InternetExplorerDriver.setup(InternetExplorerDriver.java:103)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:49)
at Util.DriverManager.get(DriverManager.java:94)
Disconnected from the target VM, address: '127.0.0.1:54285', transport: 'socket' Process finished with exit code 0
Here's my snippet of driver script that drivers browsers just in case if you arei nterested.
public static WebDriver get() {
if(useThisDriver==null){
//String defaultBrowser= System.getProperty(BROWSER_PROPERTY_NAME, "FIREFOX");
String defaultBrowser = "IE";
long startBrowserTime = System.currentTimeMillis();
switch (defaultBrowser) {
case "FIREFOX":
FirefoxProfile profile = new FirefoxProfile();
profile.setEnableNativeEvents(true);
aDriver = new FirefoxDriver();//profile);
currentDriver = BrowserName.FIREFOX;
break;
case "OPERA":
aDriver = new OperaDriver();
currentDriver = BrowserName.OPERA;
break;
case "HTMLUNIT":
aDriver = new HtmlUnitDriver();
currentDriver = BrowserName.HTMLUNIT;
break;
case "IE":
String currentUserDir = System.getProperty("user.dir");
String IEDriverLocation = currentUserDir + "/tools/iedriver_64/IEDriverServer.exe";
System.setProperty("webdriver.ie.driver", IEDriverLocation);
aDriver = new InternetExplorerDriver();
currentDriver = BrowserName.IE;
break;
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-plugins");
options.addArguments("disable-extensions");
aDriver = new ChromeDriver(options);
currentDriver = BrowserName.GOOGLECHROME;
break;
case "SAUCELABS":
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("version", "5");
capabilities.setCapability("platform", Platform.XP);
try {
// add url to environment variables to avoid releasing with source
String sauceURL = System.getenv("SAUCELABS_URL");
aDriver = new RemoteWebDriver(
new URL(sauceURL),
capabilities);
} catch (MalformedURLException e) {
e.printStackTrace();
}
currentDriver = BrowserName.SAUCELABS;
break;
}
long browserStartedTime = System.currentTimeMillis();
browserStartTime = browserStartedTime - startBrowserTime;
// we want to shutdown the shared brower when the tests finish
Runtime.getRuntime().addShutdownHook(
new Thread(){
public void run(){
DriverManager.quit();
}
}
);
}else{
try{
// is browser still alive
if(aDriver.getWindowHandle()!=null){
// assume it is still alive
}
}catch(Exception e){
if(avoidRecursiveCall){
// something has gone wrong as we have been here already
throw new RuntimeException();
}
quit();
aDriver=null;
avoidRecursiveCall = true;
return get();
}
savedTimecount += browserStartTime;
System.out.println("Saved another " + browserStartTime + "ms : total saved " + savedTimecount + "ms");
}
avoidRecursiveCall = false;
return aDriver;
}
Any help would be appreciated.
- "If you haven't suffered, you haven't lived your life."
Thanks,
Sirus