web-dev-qa-db-ja.com

分度器を実行すると、「Runtime.executionContextCreatedに無効な「コンテキスト」エラーがあります

分度器を実行しているときにエラーが発生します。以下は、私の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\protractor\built\cli.js C:\ Users\x216526\workspace_Protractor\SWA_Protractor\conf.js [17:59:58] I/direct-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)、platform = Windows NT 6.1.7601 SP1 x86_64)[18:00:01] E/launcher-SessionNotCreatedError:session not created exception from unknown error:Runtime.executionContextCreated has invalid '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)at WebDriverError(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib :26:26)SessionNotCreatedError(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\error.js:307:26)at Object.checkLegacyResponse(c:\ Users\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 ManagedPromise .invokeCallback_(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\promise.js:1379:14)at TaskQueue.execute_(c:\ Users\x216526\AppData \ローミング\ npm\node_mo dules\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\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\promise.js:639:7 From:タスク:Function.createSessionのWebDriver.createSession()(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\lib\webdriver.js:329:24)at Driver(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\Selenium-webdriver\chrome.js :778:38)Direct.getNewDriver(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\direct.js:68:26)Runner.createBrowser(c:\ Users\x216526)\AppData\Roaming\npm\node_modules\protractor\built\runner.js:187:43)at c:\ Us ers\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)self.promiseDispatch.done(c:\ Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30)Promise.promise.promiseDispatch(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' "error、see launcher [18:00:01] E/launcher-Process exited with error code 199 Process finished with exit code 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(); 
               },
             }
31
Balaji Singh .Y

2016-10-13ChromeDriver v2.24 がリリースされ、Chrome v52-54(@Antonに感謝)


2016-08-16:Chrome Devチャンネルの最近の更新の1つに、ChromeDriverが適切に動作しないバグが導入されました同じ問題を回避したばかりで、データをバックアップして、Chromeのベータ版または安定版リリースチャンネルに戻すことをお勧めします。安全に切り替える方法の詳細については、 Chromeリリースチャンネル をご覧ください。


別の方法として、ChromeDriverの開発バージョンに切り替えるshouldも問題を修正します。 chromedriverプロジェクトの 未解決の問題 から:

Chrome devchannel v54にはいくつかのDevtoolの変更がありますが、これは現在Chromedriver stable v2.23ではサポートされていません。 chromedriver…/continuous/….Zip

完全なリンクの問題を確認してください。

40
Sean

最新の分度器に latest chromedriver がない場合、webdriver-managerを使用して更新するには、以下の手順に従ってください

ファイルconfig.jsonに最新のchromedriverバージョンを入力します。このファイルはパス/ node_modules/protractor/node_modules/webdriver-manager/builtの下にあります

オプション(およびパス/ webdriver-manager/built/lib/binariesの下にあるファイル 'chrome_driver.js'で 'mac32'を 'mac64'に変更)

実行webdriver-manager updateコンソールで。

hint:「webdriver-manager」フォルダのパスを取得するには、コマンドwebdriver-manager update

14
Jlearner

私は同じ問題を見つけてこの質問を見つけたので、もう少しコンテキストを追加したいと思います:それは実際には「古い」chromeドライバー(私の場合は2.22)そして、ショーンのような「新しい」chromeリリース(私の場合は54))が答えました。

ただし、構成ファイルまたはダウンロードを手動で操作する必要はありません。

代わりに単に実行する

npm update protractor -g

分度器をグローバルに更新するには

webdriver-manager update

chromeドライバー。新しいchrome=ドライバーv2.25は、執筆時点ではまだ分度器パッケージに含まれていません(v2を入手します。代わりに24)が、Chrome 54で問題なく動作します。分度器は執筆時点でv4.09です。同じトリックは将来のバージョンでも機能するはずです!

6
Cebe

上記の問題との大きな戦いの後、私はそれに対する解決策を見つけました。だから何もしないでください。

まず最初にchromeブラウザをアンインストールしてから再インストールしてください。それは分度器がそのようなエラーを投げることはありません。

私はこれがなぜ起こったのかわからないし、どのような理由で少し奇妙に見えるかもしれませんが、唯一の解決策はchromeブラウザをアンインストールして再インストールすることです。

2
Balaji Singh .Y

Chrome Driver 2.25にアップデートして、問題を修正しました。これは簡単なアップデートです。

  • 次から最新バージョンをダウンロードします。 https://sites.google.com/a/chromium.org/chromedriver/downloads
  • 内容を解凍します(「chromedriver.exe」という1つのファイルです)。
  • 既存のchromedriver.exeにコピーします
  • 私にとっては:\ node_modules\protractor\Selenium

それでおしまい。テストを再実行すると、厄介なエラーはなくなりました。

1
Crazy Cat

Webdriver-managerを再インストールしてみてください

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

Webdriver-managerをインストールした後、問題が修正されました:10.2.8

1
Dmitri

2.24バージョンでも同じ問題があります。このバグを修正するために、バージョン2.25でchromedriver.exeをダウンロードします。リンク https://sites.google.com/a/chromium.org/chromedriver/downloads

1

これはよくある問題です。何度も直面しました。

私は月に一度、Seleniumフレームワークでchromedriverを使用していますが、通常、このタイプのエラーが発生します。

以下の手順に従ってください:

  1. 既存のすべてのchromedriverをアンインストール/削除します。
  2. 公式の googleサイト から最新のchromedriverをインストールします。
  3. システムパスをchromedriver.exeフォルダに設定します(したがって、コードからシステムパスを設定する必要はありません)
  4. 再起動IDE(すでに実行中の場合)

  5. 楽しい !

1
Pratik Patel