当前位置: 动力学知识库 > 问答 > 编程问答 >

java - Selenium - org.openqa.selenium.WebDriverException: f.QueryInterface is not a function

问题描述:

@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 .FirefoxDriver.prototype.get(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/driver_component.js:8720)

at .DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/command_processor.js:10831)

at .DelayedCommand.prototype.executeInternal_(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]/components/command_processor.js:10836)

at .DelayedCommand.prototype.execute/<(file:///C:/Users/POORVA~1.SHA/AppData/Local/Temp/anonymous8563012586736156603webdriver-profile/extensions/[email protected]m/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"

网友答案:

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.

分享给朋友:
您可能感兴趣的文章:
随机阅读: