Java selenium webdriver会触发chrome,但不会';不要打开获取url
我正在尝试对chrome运行测试,但是chrome在没有导航到get()方法的url的情况下被触发。下面是我的代码:Java selenium webdriver会触发chrome,但不会';不要打开获取url,java,selenium-webdriver,Java,Selenium Webdriver,我正在尝试对chrome运行测试,但是chrome在没有导航到get()方法的url的情况下被触发。下面是我的代码: public void startSelenium() throws MalformedURLException { driver = getDriverInstance( "http://localhost:4444/wd/hub", "chrome"); } public WebDriver getDriverInstance(
public void startSelenium() throws MalformedURLException {
driver = getDriverInstance( "http://localhost:4444/wd/hub", "chrome");
}
public WebDriver getDriverInstance(
String Url,
String browser ) throws MalformedURLException {
WebDriver driver = null;
URL url = new URL( Url );
if( browser.equals( "firefox" ) ) {
DesiredCapabilities capability = DesiredCapabilities.firefox();
driver = new RemoteWebDriver( url, capability );
} else if( browser.equals( "chrome" ) ) {
DesiredCapabilities capability = DesiredCapabilities.chrome();
driver = new RemoteWebDriver( url, capability );
} else if( browser.equals( "IE" ) ) {
DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
driver = new RemoteWebDriver( url, capability );
}
return driver;
}
下面是继承上述方法的类
driver.get("http://www.facebook.com");
这是我的独立服务器的配置
java -jar selenium-server-standalone-2.42.2.jar -Dwebdriver.chrome.driver="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
but the window is open and the get method is not executed. and this is the error that i have got in my eclips
org.openqa.selenium.WebDriverException: Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:30'
System info: host: 'CON0389', ip: '10.201.10.78', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_45'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
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:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:153)
at concep.selenium.core.GenericSeleniumWebDriver.getDriverInstance(GenericSeleniumWebDriver.java:73)
at concep.selenium.core.GenericSeleniumWebDriver.startSelenium(GenericSeleniumWebDriver.java:58)
at concep.selenium.Dynamic.DynamicBase.startSelenium(DynamicBase.java:26)
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.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:653)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:79)
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:163)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:62)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:171)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:139)
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.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:59)
at org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:53)
at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:54)
at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:215)
at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:169)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java-jar selenium-server-standalone-2.42.2.jar-Dwebdriver.chrome.driver=“C:\Program Files(x86)\Google\chrome\Application\chrome.exe”
但是窗口是打开的,get方法没有执行。这就是我在eclips中遇到的错误
org.openqa.selenium.WebDriverException:构建信息:版本:“2.42.2”,修订版:“6a6995d”,时间:“2014-06-03 17:42:30”
系统信息:主机:'CON0389',ip:'10.201.10.78',os.name:'Windows 8',os.arch:'amd64',os.version:'6.2',java.version:'1.7.0_45'
驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于org.openqa.selenium.remote.ErrorHandler.CreateTrowable(ErrorHandler.java:204)
位于org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:126)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:153)
位于concep.selenium.core.GenericSeleniumWebDriver.getDriverInstance(GenericSeleniumWebDriver.java:73)
位于concep.selenium.core.GenericSeleniumWebDriver.startSelenium(GenericSeleniumWebDriver.java:58)
位于concep.selenium.Dynamic.DynamicBase.startSelenium(DynamicBase.java:26)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
位于org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
位于org.testng.internal.Invoker.invokeConfigulations(Invoker.java:213)
位于org.testng.internal.Invoker.invokeMethod(Invoker.java:653)
位于org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
位于org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
位于org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
位于org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
位于org.testng.TestRunner.privateRun(TestRunner.java:767)
位于org.testng.TestRunner.run(TestRunner.java:617)
位于org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
在org.testng.SuiteRunner.runSequential上(SuiteRunner.java:329)
位于org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
运行(SuiteRunner.java:240)
位于org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
位于org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
在org.testng.testng.runSuitesSequentially上(testng.java:1224)
位于org.testng.testng.runSuitesLocally(testng.java:1149)
位于org.testng.testng.run(testng.java:1057)
位于org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
原因:java.util.concurrent.TimeoutException
位于java.util.concurrent.FutureTask.get(未知源)
位于com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)
位于org.openqa.selenium.net.UrlChecker.waitUntilavable(UrlChecker.java:79)
位于org.openqa.selenium.remote.service.DriverService.start(DriverService.java:163)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:62)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572)
位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:126)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:139)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:171)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:139)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:59)
位于org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:53)
位于org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:54)
位于org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:215)
位于org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1)
位于java.util.concurrent.FutureTask.run(未知源)
位于org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:169)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
我已经解决了这个问题,原来我下载了旧版本的IEWebdriverServer,所以我只需要更新它