首页 文章

量角器 - 运行Protractor时出现“Runtime.executionContextCreated有无效'上下文”错误

提问于
浏览
30

当我运行量角器时,我得到以下错误 . 以下是我的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 回答

  • 1

    2016-10-13ChromeDriver v2.24已发布,支持Chrome v52-54 . (谢谢@Anton)


    2016-08-16 :Chrome Dev Channels 的最新更新之一引入了一个阻止ChromeDriver正常启动的错误 . 刚刚解决了同样的问题,我建议您备份数据并恢复Chrome的Beta或Stable发布渠道 . 有关安全的更多详细信息,请参阅Chrome Release Channels交换 .

    或者,切换到DevD版ChromeDriver也应该解决问题 . 来自chromedriver项目的closed issue

    Chrome dev通道v54中有一些Devtool更改,目前Chromedriver stable v2.23不支持 . 您可能想要使用具有修复程序的开发版Chromedriver . 它可以从chromedriver ... / continuous / ... .zip下载

    查看完整链接的问题 .

  • 1

    如果最新的量角器没有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 后观察控制台

  • 40

    由于我遇到了同样的问题并发现了这个问题,我想补充一点上下文:它确实是一个'旧的'chrome驱动程序(在我的情况下是2.22)和'更新'的chrome版本之间的版本问题(54在我的情况下)像肖恩回答 .

    但是,不需要手动调整配置文件或下载 .

    而是跑步

    npm update protractor -g
    

    然后全局更新量角器

    webdriver-manager update
    

    更新chrome驱动程序 . 在撰写本文时,较新的chrome驱动程序v2.25尚未包含在量角器包中(您将获得v2.24),但它适用于Chrome 54.在撰写本文时,Protractor是v4.09 . 同样的技巧也适用于未来的版本!

  • 14

    经过与上述问题的大战,我找到了解决方案 . 所以请不要做任何事情 .

    首先卸载Chrome浏览器并重新安装 . 那就是量角器不会抛出任何这样的错误 .

    我甚至不知道为什么会发生这种情况,并且出于什么原因看起来有点奇怪但是唯一的解决方案是卸载Chrome浏览器并重新安装它 .

  • 2

    我有2.24版本的相同问题 . 为了修复这个错误,请下载版本为2.25的chromedriver.exe,它现在可以通过链接https://sites.google.com/a/chromium.org/chromedriver/downloads获得

  • 6

    尝试重新安装webdriver-manager

    npm uninstall webdriver-manager -g
    npm install webdriver-manager -g
    

    安装webdriver-manager后,问题对我来说是固定的:10.2.8

  • 1

    这是常见问题,我多次面对它 .

    我在我的selenium框架中每月使用一次chromedriver,我通常会遇到这种类型的错误 .

    请遵循以下步骤:

    • Unistall /删除所有现有的chromedriver .

    • 从官方google site安装最新的chromedriver .

    • 设置chromedriver.exe文件夹的系统路径(所以你不需要为从代码设置系统路径而烦恼)

    • 重启IDE(如果已经运行)

    • 享受!

  • 1

    我更新了Chrome驱动程序2.25,它解决了我的问题 . 这是一个简单的更新:

    而已 . 我重新进行测试,麻烦的错误消失了 .

相关问题