@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)
答案 0 :(得分:57)
webdriver的get方法引发错误,该方法将您导航到您提供的URL。很可能您的URL缺少协议。所以你猜测的是,你传递的网址是www.example.com
,但你要提供的是http://www.example.com
答案 1 :(得分:3)
WebDriver api向Selenium服务器发送RESTfull请求以执行命令。 REST服务使用http或https协议进行请求/响应。因此,当我们调用url而不提及协议前缀(在我们的例子中为http)时,抛出异常。
答案 2 :(得分:3)
当使用rspec / capybara运行功能测试时,我在rails web app上的ruby中遇到了此错误。
对我来说,通过在访问方法中在网址的前面添加“/”来修复它。
所以visit "your/test/path"
变为visit "/your/test/path"
答案 3 :(得分:3)
'11618632'
异常。如果您使用没有协议的URL(http或https),那么它会抛出异常。
答案 4 :(得分:0)
另一种可能性是您在Ruby on Rails项目中意外忘记/删除了测试助手文件中的行require 'capybara/rails'
。我花了一个小时才意识到。该死的错字!
答案 5 :(得分:0)
如果在配置文件中使用引号保存URL,则会抛出f.queryInterface
异常。只需删除URL的引号,它就可以正常工作。