2017-12-19 13 views
0

JavaScriptと分派器の両方に新しいです。私はcucmber jsで分度器を使用しています。 私は問題を取得していますコードを下回っている:npmを取得するERR! errno 199キュウリのフレームワークを持つ分度器を実行するとき

Then(/^I verified all pages visible to logged in user$/,() => { 

    var expVisibleNavPages = 'Home,Applications,Programs,Reports,Admin Tools,a'; 

    var NavLinks = element.all(by.css('ul.nav.navbar-nav')).get(0).all(by.css('a')); 

    var len =0; 

    NavLinks.then(function(result) { 
      len = result.length; 
      logger.info("TOTAL NAV LINKS ARE ARE:"+len); 
     }); 


    var actVisibleNavPages = ""; 
    var iCt = 0; 


    NavLinks.each(function (element) { 

     element.getText().then(function(text){ 

     actVisibleNavPages += text+","; 
     iCt++; 

      if (len === iCt) 
      { 
       logger.info("ACTUAL PAGES:"+actVisibleNavPages); 

       logger.info("EXPECTED PAGES:"+expVisibleNavPages); 

       return expect(actVisibleNavPages).to.equal(expVisibleNavPages); 
      } 



     }); 


    }); 

私は怒鳴るエラーを得た:

[2017-12-19T23:59:36.696] [INFO] default - TOTAL NAV LINKS ARE ARE:5 [2017-12-19T23:59:36.818] [INFO] default - ACTUAL PAGES:Home,Applications,Programs,Reports,Admin Tools, [2017-12-19T23:59:36.821] [INFO] default - EXPECTED PAGES:Home,Applications,Programs,Reports,Admin Tools,a [23:59:36] E/launcher - expected 'Home,Applications,Programs,Reports,Admin Tools,' to equal 'Home,Applications,Programs,Reports,Admin Tools,a' [23:59:36] E/launcher - AssertionError: expected 'Home,Applications,Programs,Reports,Admin Tools,' to equal 'Home,Applications,Programs,Reports,Admin Tools,a' at C:/HancockSoftwareAutomation/mdmf_automation_bdd/mdmf_e2e_gui_testing/stepDefinitions/navaigation_bar_steps.js:74:49 at elementArrayFinder_.then (C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\protractor\built\element.js:804:32) at ManagedPromise.invokeCallback_ (C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\selenium-webdriver\lib\promise.js:1376:14) at TaskQueue.execute_ (C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\selenium-webdriver\lib\promise.js:3084:14) at TaskQueue.executeNext_ (C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\selenium-webdriver\lib\promise.js:3067:27) at asyncRun (C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\selenium-webdriver\lib\promise.js:2927:27) at C:\HancockSoftwareAutomation\mdmf_automation_bdd\mdmf_e2e_gui_testing\node_modules\selenium-webdriver\lib\promise.js:668:7 at at process._tickCallback (internal/process/next_tick.js:188:7) [23:59:36] E/launcher - Process exited with error code 199 npm ERR! code ELIFECYCLE npm ERR! errno 199

のNPMはerrno 199の、分度器プロセスが終了しつつあり、さらにシナリオの実行を停止しているため。

助けを探しています。

答えて

0

私は以下のようなコードを更新し、それが働いた:返信用

Then(/^I verified all pages visible to logged in user$/,() => { 

    var expVisibleNavPages = ["Home","Applications","Programs","Reports","Admin Tools","a"]; 

    let actVisibleNavPages = element.all(by.css('ul.nav.navbar-nav')).get(0).all(by.css('a')); 

    var promise = new Promise(function (resolve) { 
     setTimeout(resolve, 200, actVisibleNavPages.getText()); 
    }); 


    return expect(promise).to.eventually.deep.equal(expVisibleNavPages); 

}); 
1

エラーログは自己説明されています。あなたのスクリプトはホーム、アプリケーション、プログラム、レポート、管理ツールを含む5つの "NavLinks"しか見つけられませんでしたが、期待値は "a"という別のオブジェクトで6でした。アサーションエラーが発生します。

+0

おかげで、私は意図的にそれがアサーションに失敗してきました。問題はアサーションが失敗した場合に分裂器が終了して他のシナリオを続けるべきではないが、このProtactorプロセスではnpmエラー199でgettigが殺されるということです。アサーションに失敗した他のステップでは、だから私の質問は、アサーションの失敗とprotracrorプロセスの終了を避ける方法です。 – Shailendra

+0

エラー199はキャッチされない例外のようですので、あなたの 'protractor.config'に' ignoreUncaughtExceptions = true'プロパティを追加しようとすることができます。次に、このアサーションエラーが発生した場合、次のシナリオに進む。うまくいけば、それはうまくいくでしょう。 – quyentx

関連する問題