@Test
public void myDriver() throws IOException, InterruptedException {
FirefoxDriver myD = new FirefoxDriver();
String vkw, vxpath, vtestdata;
long iWait = 1000000000;
String[][] xTC, xTS;
xTC = readxl("C:\\Selenium\\KDF.xls", "Test case");
xTS = readxl("C:\\Selenium\\KDF.xls", "Test steps");
for (int i = 1; i < xTC.length; i++) {
if (xTC[i][3].equalsIgnoreCase("Y")) {
System.out.println("Yes");
for (int k = 1; k < xTS.length; k++) {
if (xTC[i][0].equalsIgnoreCase(xTS[k][1])) {
vkw = xTS[k][4];
vxpath = xTS[k][5];
vtestdata = xTS[k][5];
/* if (vkw.equalsIgnoreCase("enter text")){
Fentertext(myD, vxpath, vtestdata);
}
*/
if (vkw.equalsIgnoreCase("navigate browser")) {
FnavigateBrowser(myD, vtestdata);
}
Thread.sleep(iWait);
}
}
}
}
}
Error:- org.openqa.selenium.WebDriverException: f.QueryInterface is
not a function Command duration or timeout: 144 milliseconds Build
info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16
16:12:12' System info: host: 'del1-dhp-28988', ip: '172.16.45.14',
os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1',
java.version: '1.7.0_09' Session ID:
043a4dc7-520f-44a5-a74c-c6cb274d50b9 Driver info:
org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=XP,
acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true,
databaseEnabled=true, browserName=firefox, handlesAlerts=true,
browserConnectionEnabled=true, webStorageEnabled=true,
nativeEvents=true, rotatable=false, locationContextEnabled=true,
applicationCacheEnabled=true, takesScreenshot=true, version=26.0}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:276)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteNavigation.to(RemoteWebDriver.java:800)
at KDF3.FnavigateBrowser(KDF3.java:185)
at KDF3.myDriver(KDF3.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by:
org.openqa.selenium.remote.ErrorHandler$UnknownServerException:
f.QueryInterface is not a function Build info: version: '2.39.0',
revision: 'ff23eac', time: '2013-12-16 16:12:12' System info: host:
'del1-dhp-28988', ip: '172.16.45.14', os.name: 'Windows 7', os.arch:
'amd64', os.version: '6.1', java.version: '1.7.0_09' Driver info:
driver.version: unknown
at <anonymous class>.FirefoxDriver.prototype.get(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/driver_component.js:8720)
at <anonymous class>.DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/command_processor.js:10831)
at <anonymous class>.DelayedCommand.prototype.executeInternal_(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/command_processor.js:10836)
at <anonymous class>.DelayedCommand.prototype.execute/<(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/command_processor.js:10778)
The error is being thrown by webdriver's get method that is navigating you to the url that you provided. Most probably your URL is missing a protocol. So a wild guess would be, that you are passing url as www.example.com
, but what you want to give is http://www.example.com
WebDriver api sends RESTfull request to Selenium server to execute a command. REST services uses http or https protocol for request/response. Hence when we call the url without mentioning the protocol prefix (in our case http), exception is thrown.
I ran into this error in a ruby on rails web app when running feature tests with rspec/capybara.
For me it was fixed by adding a "/" to the front of the url in the visit method.
so visit "your/test/path"
becomes visit "/your/test/path"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With