当我运行量角器时,我得到以下错误 . 以下是我的webstorm控制台中显示的错误 .
“C:\ Program Files(x86)\ JetBrains \ WebStorm 2016.2 \ bin \ runnerw.exe”“C:\ Program Files \ nodejs \ node.exe”c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \量角器\ built \ cli.js C:\ Users \ x216526 \ workspace_Protractor \ SWA_Protractor \ conf.js [17:59:58]我/直接 - 直接使用ChromeDriver ... [17:59:58] I / launcher - 正在运行1个WebDriver实例[18:00:01] E / launcher - 会话未创建未知错误的异常:Runtime.executionContextCreated具有无效的'context':{“auxData”:{“frameId”:“9784.1”,“isDefault”: true},“id”:1,“name”:“”,“origin”:“://”}(会话信息:chrome = 54.0.2824.0)(驱动程序信息:chromedriver = 2.22.397933(1cab651507b88dec79b2b2a22d1943c01833cc1b),平台= Windows NT 6.1.7601 SP1 x86_64)[18:00:01] E / launcher - SessionNotCreatedError:会话未从未知错误创建异常:Runtime.executionContextCreated具有无效的'context':{“auxData”:{“frameId”:“ 9784.1“,”isDefault“:true},”id“:1,”name“:”“,”origin“:”://“}(会话信息:chrome = 54.0.2824.0)(驱动程序信息:chromedriver = 2.22.397933(1cab651507b88dec79b2b2a22d1943c01833cc1b),platform = Windows NT 6.1.7601 SP1 x86_64)WebDriverError(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ error . js:26:26)在Object.checkLegacyResponse(c:\)的SessionNotCreatedError(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ error.js:307:26)用户\ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ error.js:639:15)at parseHttpResponse(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ http \ index.js:538:13)在c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ http \ index.js:472:11 at在TaskQueue.execute_(c:\ Users \ x216526 \ AppData)的ManagedPromise.invokeCallback_(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:1379:14) \漫游\故宫\ node_ modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2913:14)at TaskQueue.executeNext_(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2896:21)c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2820:25 at c:\ Users \ x216526 \ AppData \漫游\ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:639:7来自:任务:Function.createSession中的WebDriver.createSession()(c:\ Users \ x216526 \ AppData \ Roaming \ npm驱动程序中的\ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver.js:329:24)(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ chrome.js :778:38)在Runner.createBrowser(c:\ Users \ x216526)的Direct.getNewDriver(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ driverProviders \ direct.js:68:26) \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ runner.js:187:43)at c:\用户\ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ runner.js:261:30 at _fulfilled(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ q \ q.js :834:54)在Promise.promise.promiseDispatch的self.promiseDispatch.done(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ q \ q.js:863:30)中(c: \ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ q \ q.js:796:13)at c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ q \ q .js:556:49 at runSingle(c:\ Users \ x216526 \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ q \ q.js:137:13)[18:00:01] E / launcher - “ process.on('uncaughtException'“错误,请参阅启动程序[18:00:01] E / launcher - 已退出并显示错误代码199已完成退出代码199
My config js look like below:
exports.config = {
directConnect: true, // Capabilities to be passed
//to the webdriver instance.
capabilities: { 'browserName': 'chrome', },
framework: 'jasmine2',
specs: ['./src/sli_sanitytests/San1_Check_
Sli_Homepage_is_Accessible_spec.js',
'./src/sli_sanitytests/San2_
Click_createButton_to_Open_Sli_CreateForm_page_spec.js',
'./src/sli_sanitytests/San3_
Create_Sli_reference_spec.js' ],
suites: {
smoke: ['./smoke/!*.spec.js'],
regression:['./regression/!*.spec.js'],
functional: ['./functional/!*.spec.js'],
all: ['./!*!/!*.spec.js'],
selected:['./functional/addcustomer.spec.js',
'./regression/openaccount.spec.js'],
},
// Options to be passed to Jasmine
jasmineNodeOpts: {
//onComplete will be called just before the driver quits.
onComplete: null,
// If true, display spec names.
isVerbose: true, // If true,print colors to the terminal.
showColors: true, // If true, include stack traces in
//failures.
includeStackTrace: true, // Default time to wait in ms
//before a test fails.
defaultTimeoutInterval: 80000
},
//enter code here
onPrepare:function() {
browser.ignoreSynchronization = true;
browser.driver.manage().window().maximize();
},
}
8 回答
2016-10-13 :ChromeDriver v2.24已发布,支持Chrome v52-54 . (谢谢@Anton)
2016-08-16 :Chrome Dev Channels 的最新更新之一引入了一个阻止ChromeDriver正常启动的错误 . 刚刚解决了同样的问题,我建议您备份数据并恢复Chrome的Beta或Stable发布渠道 . 有关安全的更多详细信息,请参阅Chrome Release Channels交换 .
或者,切换到DevD版ChromeDriver也应该解决问题 . 来自chromedriver项目的closed issue:
查看完整链接的问题 .
如果最新的量角器没有latest chromedriver然后使用webdriver-manager更新它,请按照以下步骤操作
在文件config.json中输入最新的chromedriver版本此文件位于path / node_modules / protractor / node_modules / webdriver-manager / built下
可选(并将'mac32'更改为文件'chrome_driver.js'中的'mac64',它存在于path / webdriver-manager / built / lib / binaries下)
在控制台中运行
webdriver-manager update
.hint :要获取'webdriver-manager'文件夹的路径,请在命令
webdriver-manager update
后观察控制台由于我遇到了同样的问题并发现了这个问题,我想补充一点上下文:它确实是一个'旧的'chrome驱动程序(在我的情况下是2.22)和'更新'的chrome版本之间的版本问题(54在我的情况下)像肖恩回答 .
但是,不需要手动调整配置文件或下载 .
而是跑步
然后全局更新量角器
更新chrome驱动程序 . 在撰写本文时,较新的chrome驱动程序v2.25尚未包含在量角器包中(您将获得v2.24),但它适用于Chrome 54.在撰写本文时,Protractor是v4.09 . 同样的技巧也适用于未来的版本!
经过与上述问题的大战,我找到了解决方案 . 所以请不要做任何事情 .
首先卸载Chrome浏览器并重新安装 . 那就是量角器不会抛出任何这样的错误 .
我甚至不知道为什么会发生这种情况,并且出于什么原因看起来有点奇怪但是唯一的解决方案是卸载Chrome浏览器并重新安装它 .
我有2.24版本的相同问题 . 为了修复这个错误,请下载版本为2.25的chromedriver.exe,它现在可以通过链接https://sites.google.com/a/chromium.org/chromedriver/downloads获得
尝试重新安装webdriver-manager
安装webdriver-manager后,问题对我来说是固定的:10.2.8
这是常见问题,我多次面对它 .
我在我的selenium框架中每月使用一次chromedriver,我通常会遇到这种类型的错误 .
请遵循以下步骤:
Unistall /删除所有现有的chromedriver .
从官方google site安装最新的chromedriver .
设置chromedriver.exe文件夹的系统路径(所以你不需要为从代码设置系统路径而烦恼)
重启IDE(如果已经运行)
享受!
我更新了Chrome驱动程序2.25,它解决了我的问题 . 这是一个简单的更新:
从以下网址下载最新版本:https://sites.google.com/a/chromium.org/chromedriver/downloads
解压缩内容(这是一个文件"chromedriver.exe") .
将其复制到现有的chromedriver.exe上
对于我来自:\ node_modules \ protractor \ selenium
而已 . 我重新进行测试,麻烦的错误消失了 .