javascript – Selenium服务器错误:无法创建新服务chromedriverservice
作者:互联网
我试图在我的Windows 10计算机上运行webdriverio并在尝试运行我的测试js文件时继续遇到同样的问题.所以我运行这个-jar /your/download/directory/selenium-server-standalone-3.5.3.jar
启动服务器,这个输出出来了
13:06:19.471 INFO - Selenium build info: version: '3.5.3', revision: 'a88d25fe6b'
13:06:19.472 INFO - Launching a standalone Selenium Server
2018-02-16 13:06:19.503:INFO::main: Logging initialized @301ms to org.seleniumhq.jetty9.util.log.StdErrLog
13:06:19.564 INFO - Driver class not found: com.opera.core.systems.OperaDriver
13:06:19.600 INFO - Driver provider class org.openqa.selenium.safari.SafariDriver registration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN10
13:06:19.640 INFO - Using the passthrough mode handler
2018-02-16 13:06:19.673:INFO:osjs.Server:main: jetty-9.4.5.v20170502
2018-02-16 13:06:19.697:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.ServletContextHandler@3e9b1010{/,null,STARTING} has uncovered http methods for path: /
2018-02-16 13:06:19.703:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@3e9b1010{/,null,AVAILABLE}
2018-02-16 13:06:19.807:INFO:osjs.AbstractConnector:main: Started ServerConnector@4e7dc304{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
2018-02-16 13:06:19.808:INFO:osjs.Server:main: Started @605ms
13:06:19.808 INFO - Selenium Server is up and running
所以在那之后我打开了一个新的命令行提示符并运行了我的test.js文件,看起来像这样
var webdriverio = require('webdriverio');
var options = {
desiredCapabilities: {
browserName: 'chrome'
}
};
webdriverio
.remote(options)
.init()
.url('http://www.google.com')
.getTitle().then(function(title) {
console.log('Title was: ' + title);
})
.end()
.catch(function(err) {
console.log(err);
});
这就是我得到的错误
{ Error: A new session could not be created.
at end() - C:\Users\KenyaThompson\Desktop\test.js:16:6
details: undefined,
message: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown',
type: 'RuntimeError',
seleniumStack:
{ type: 'SessionNotCreatedException',
message: 'A new session could not be created.',
orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' } }
有人可以向我解释我在这里做错了什么吗?也是的,我已经通过npm以及wdio-chromedriver-service安装了chromedriver.
解决方法:
您看到的错误确实给了我们一些关于错误的提示,如下所示:
{ type: 'SessionNotCreatedException',
message: 'A new session could not be created.',
orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' }
从错误消息中可以清楚地看到ChromeDriver未被检测到,因为您将日志消息显示为Driver info:driver.version:unknown.此错误的主要原因可能是您正在使用的二进制文件之间的不兼容性.
>您的Selenium客户端版本是3.5.3发布2017-08-29T12:54:15.039Z
>我们不知道您的ChromeDriver版本.
>我们不了解您的Chrome浏览器版本.
解
一个快速的解决方案是:
>将Selenium Client版本更新到最近的级别,即Selenium 3.9.1
>将ChromeDriver版本更新到最近的级别,即ChromeDriver 2.35
>根据ChromeDriver v2.35发行说明,将Chrome浏览器版本更新为v62-64
>运行CCleaner工具以在执行Test Suite之前和之后擦除操作系统
>如果您的Chrome浏览器的基本版本已经从Revo Uninstaller卸载Chrome浏览器并安装最新的GA浏览器版本的Chrome浏览器
>执行你的测试.
标签:javascript,node-js,selenium,webdriver-io 来源: https://codeday.me/bug/20190611/1216315.html