繁体   English   中英

如何为Selenium Grid设置chromedriver?

[英]How to set chromedriver for Selenium Grid?

我正在学习Java中的Selenium,并且一直在努力解决以下问题。 我尝试在HUB中启动测试,并收到以下错误。

码:

package selenium;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class FromHub {
    public static void main(String[] args) throws MalformedURLException {

    RemoteWebDriver driver;

    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    ChromeOptions options = new ChromeOptions();
    options.setBinary(new File("D:\\Projektek\\Selenium\\chromedriver.exe"));
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);


    driver = new RemoteWebDriver(new URL("http://192.168.1.205:4444/wd/hub"), capabilities);
    driver.get("http://google.com");
    System.out.println(driver.getTitle());
                }
}

Eclipse控制台中的错误(由此,我无法真正弄清楚应该是什么问题。也许driver.version是未知的,那是问题吗?):

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:40.131Z'
System info: host: 'DESKTOP-BKIG71Q', ip: '192.168.1.126', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: unknown
Command duration or timeout: 84 milliseconds
    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:214)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
    at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
    at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$24(ProtocolHandshake.java:359)
    at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
    at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
    at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
    at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:362)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:136)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:217)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:140)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:153)
    at selenium.FromHub.main(FromHub.java:40)
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:40.131Z'
System info: host: 'DESKTOP-BKIG71Q', ip: '192.168.1.126', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: unknown
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:26.402Z'
System info: host: 'DESKTOP-RMS16L0', ip: '192.168.1.205', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_73'
Driver info: driver.version: unknown
    at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$new$0(ServicedSession.java:163)
    at org.openqa.selenium.remote.server.ServicedSession$Factory.apply(ServicedSession.java:173)
    at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$createSession$16(ActiveSessionFactory.java:171)
    at java.util.Optional.map(Unknown Source)
    at org.openqa.selenium.remote.server.ActiveSessionFactory.createSession(ActiveSessionFactory.java:171)
    at org.openqa.selenium.remote.server.commandhandler.BeginSession.execute(BeginSession.java:72)
    at org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle$0(WebDriverServlet.java:232)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

NODE Con​​sole中的错误(感觉就像这里,一切都很好。也许我只是不太了解它。):

10:50:01.362 INFO - Binding default provider to: org.openqa.selenium.chrome.ChromeDriverService
10:50:01.362 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@9dd88ce
10:50:01.366 INFO - /session: Executing POST on /session (handler: BeginSession)
10:50:01.373 INFO - Capabilities are: Capabilities {goog:chromeOptions={args=[], extensions=[], binary=D:\Projektek\Selenium\chrom..., }, browserName=chrome, }
10:50:01.375 INFO - Capabilities {goog:chromeOptions={args=[], extensions=[], binary=D:\Projektek\Selenium\chrom..., }, browserName=chrome, } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
10:50:01.377 INFO - Capabilities {goog:chromeOptions={args=[], extensions=[], binary=D:\Projektek\Selenium\chrom..., }, browserName=chrome, } matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)

希望您能仅凭这些帮助我。 让我知道您是否还需要更多。 谢谢!

我也遇到同样的问题,您的代码没有问题(即使不是必需的代码):

options.setBinary(new File("D:\\Projektek\\Selenium\\chromedriver.exe"));

当我尝试从另一个路径启动该节点时,就会出现该问题。 采用:

E:\Testing\Automation> java -jar selenium-server-standalone-3.6.0.jar -role node -hub http: // localhost: 4444 / grid / register

代替:

C:\Users\Nabil> java -jar "E:\Testing\Automation\selenium-server-standalone-3.6.0.jar" -role node -hub http: // localhost: 4444 / grid / register

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM