Question

@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/fxdriver@googlecode.com/components/driver_component.js:8720)
    at <anonymous class>.DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10831)
    at <anonymous class>.DelayedCommand.prototype.executeInternal_(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10836)
    at <anonymous class>.DelayedCommand.prototype.execute/<(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10778)

No correct solution

OTHER TIPS

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"

org.openqa.selenium.WebDriverException: f.QueryInterface is not a function exception happens because of the missing protocol. If you are using url without protocol like (http or https) then it throws above exception.

Another possibility is that you accidentally forgot/deleted the line require 'capybara/rails' in your test helper file in a Ruby on Rails project. Took me an hour to realize. Damn typos!

If the URL is saved with quotes in config file, it throws the f.queryInterface exception. Just remove the quotes for the URL and it will work fine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top