对节点执行测试会产生错误

时间:2018-12-22 14:13:06

标签: selenium webdriver

我用chromedriver手动启动selenium-hub和selenium-node

当我对该节点执行测试时,我看到该节点的日志输出

15:02:47.728 INFO - Got a request to create a new session: Capabilities {acceptSslCerts: true, browserName: chrome, javascriptEnabled: true, name: Ckbot, nativeElements: true}
15:02:47.728 INFO - Trying to create a new session on test slot {seleniumProtocol=WebDriver, se:CONFIG_UUID=68bf176a-9d28-459d-9767-baa262052753, browserName=chrome, maxInstances=5, platformName=MAC, platform=MAC}
15:02:47.733 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@53812ecd
15:02:47.733 INFO - /session: Executing POST on /session (handler: BeginSession)
15:02:47.735 INFO - Capabilities are: Capabilities {acceptSslCerts: true, browserName: chrome, javascriptEnabled: true, name: Ckbot, nativeElements: true}
15:02:47.735 INFO - Capabilities {acceptSslCerts: true, browserName: chrome, javascriptEnabled: true, name: Ckbot, nativeElements: true} matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
Starting ChromeDriver 2.45.615355 (d5698f682d8b2742017df6c81e0bd8e6a3063189) on port 22509
Remote connections are allowed by a whitelist (127.0.0.1).

但是测试表明:

{ value:
    { error:
        [ '  (Driver info: chromedriver=2.45.615355 (d5698f682d8b2742017df6c81e0bd8e6a3063189),platform=Mac OS X 10.14.0 x86_64) (WARNING: The server did not provide any stacktrace information)',
        'Command duration or timeout: 3 milliseconds',
        'Build info: version: \'3.9.0\', revision: \'698b3178f0\', time: \'2018-02-05T14:56:13.134Z\'',
        'System info: host: \'midi.fritz.box\', ip: \'fe80:0:0:0:c1c:8e9d:90b3:b1a6%en0\', os.name: \'Mac OS X\', os.arch: \'x86_64\', os.version: \'10.14\', java.version: \'1.8.0_111\'',
        'Driver info: driver.version: unknown' ],
        message: 'unknown error: cannot find Chrome binary' },
    status: 13 }

OsX的chrome驱动程序是独立的。当我将其传递给Selenium时,它似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

ChromeDriver希望您将Chrome安装在平台的默认位置。您还可以通过设置以下特殊功能来强制ChromeDriver使用自定义位置:

// Selenium Java API
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");