" Runtime.executionContextCreated具有无效的' context"运行量角器

时间:2016-08-12 12:54:06

标签: angularjs protractor

我在运行量角器时遇到错误。以下是我的webstorm控制台中显示的错误。

  

" C:\ Program Files(x86)\ JetBrains \ WebStorm 2016.2 \ bin \ runnerw.exe"   " C:\ Program Files \ nodejs \ node.exe"   C:\用户\ x216526 \应用程序数据\漫游\故宫\ node_modules \量角器\建造\ cli.js   C:\用户\ x216526 \ workspace_Protractor \ SWA_Protractor \ conf.js   [17:59:58]我/直接 - 直接使用ChromeDriver ... [17:59:58]   I / launcher - 运行1个WebDriver实例[18:00:01] E /启动器 -   session未从未知错误中创建异常:   Runtime.executionContextCreated具有无效的' context':   {" AUXDATA" {" frameId":" 9784.1"" ISDEFAULT":真}" ID" :1,"名称":"""来源":"://"}   (会话信息:chrome = 54.0.2824.0)(驱动信息:   chromedriver = 2.22.397933   (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform = Windows NT   6.1.7601 SP1 x86_64)[18:00:01] E / launcher - SessionNotCreatedError:会话未创建未知错误的异常:   Runtime.executionContextCreated具有无效的' context':   {" AUXDATA" {" frameId":" 9784.1"" ISDEFAULT":真}" ID" :1,"名称":"""来源":"://"}   (会话信息: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)   在SessionNotCreatedError   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ error.js:307:26)   在Object.checkLegacyResponse   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ error.js:639:15)   在parseHttpResponse   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ HTTP \ index.js:538:13)   在   C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ HTTP \ index.js:472:11   在ManagedPromise.invokeCallback_   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ promise.js:1379:14)   在TaskQueue.execute_   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ promise.js:2913:14)   在TaskQueue.executeNext_   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ promise.js:2896:21)   在   C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ promise.js:2820:25   在   C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ promise.js:639:7   From:任务:Function.createSession中的WebDriver.createSession()   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ lib中\ webdriver.js:329:24)   在司机   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \硒的webdriver \ chrome.js:778:38)   在Direct.getNewDriver   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\内置\ driverProviders \ direct.js:68:26)   在Runner.createBrowser   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\内置\ runner.js:187:43)   在   C:\用户\ x216526 \应用程序数据\漫游\故宫\ node_modules \量角器\内建\ runner.js:261:30   在_fulfilled   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \ q \ q.js:834:54)   在self.promiseDispatch.done   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \ q \ q.js:863:30)   在Promise.promise.promiseDispatch   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \ q \ q.js:796:13)   在   C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \ q \ q.js:556:49   在runSingle   (C:\ Users \用户x216526 \应用程序数据\漫游\ NPM \ node_modules \量角器\ node_modules \ q \ q.js:137:13)   [18:00:01] E / launcher - " process.on(' uncaughtException'"错误,请参阅   launcher [18:00:01] E / launcher - 进程已退出,错误代码为199   处理完成后退出代码199

我的配置js如下所示:

     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(); 
               },
             }

9 个答案:

答案 0 :(得分:40)

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

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


或者,切换到Chrome驱动程序的开发版本也可以解决问题。来自chromedriver项目的closed issue

  

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

下载

查看完整链接的问题。

答案 1 :(得分:14)

如果最新的量角器没有latest chromedriver然后使用webdriver-manager更新它,请按照以下步骤操作

在文件config.json中输入最新的chromedriver版本此文件位于路径 / node_modules / protractor / node_modules / webdriver-manager / built

可选(并在文件' chrome_driver.js'中更改' mac32'以及 / webdriver-manager / built下/ LIB /二进制)

在控制台中运行webdriver-manager update

提示:获取' webdriver-manager'的路径文件夹在命令webdriver-manager update

之后观察控制台

答案 2 :(得分:6)

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

但是,无需手动编配配置文件或下载。

而只是运行

npm update protractor -g

全局更新量角器

webdriver-manager update

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

答案 3 :(得分:2)

经过与上述问题的大战,我找到了解决方案。所以,请 什么都不做。

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

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

答案 4 :(得分:1)

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

获得

答案 5 :(得分:1)

尝试重新安装webdriver-manager

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

我安装了webdriver-manager后修复了问题:10.2.8

答案 6 :(得分:1)

这是常见的问题,我多次面对过。

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

按照以下步骤操作:

  1. Unistall /删除所有现有的chromedriver。
  2. 安装最新版本 chromedriver来自官方google site
  3. 将系统路径设置为chromedriver.exe文件夹(因此您不必费心从代码设置系统路径)
  4. 重新启动IDE (如果已在运行)

  5. 享受!

答案 7 :(得分:1)

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

那就是它。我重新进行测试,麻烦的错误就消失了。

答案 8 :(得分:0)

首先卸载Chrome浏览器,然后重新安装。量角器将不会抛出任何此类错误。

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

npm卸载webdriver-manager -g npm安装webdriver-manager -g