2016-09-02 10 views
1

分裂器 - キュウリベースのフレームワークでエラーを処理するにはどうすればよいですか?分度器 - フレームワークでのエラー処理

本物の失敗であり、javascriptコードにエラーがあります(たとえば、要素が見つからず、配列が空で、未定義のものなど)。私は後で優雅に扱いたい。

現在、上記のエラーのために分度器テストは失敗しますが、メッセージは友好的ではなく、理解しにくいものです。実際のエラーが(など、ファイル名、行番号)スクリプトで発生した場所を彼らは主に例えば

"NoSuchElementError: No element found using locator: By(css selector, .listContainer li:nth-child(1) span)">NoSuchElementError: No element found using locator: By(css selector, .listContainer li:nth-child(1) span) 
    at WebDriverError (node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:27:10) 
    at NoSuchElementError (node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:242:10) 
    at node_modules\protractor\built\element.js:705:27 
    at ManagedPromise.invokeCallback_ (node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1379:14) 
    at TaskQueue.execute_ (node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2913:14) 
    at TaskQueue.executeNext_ (node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2896:21) 
    at node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2775:27 
    at node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:639:7 
    at process._tickCallback (node.js:369:9)Error 

私が処理するために、このような何かを分度器ライブラリファイル内のエラーの場所をポイントしていませんエラー -

return selectAll.click().then(function(){ 

      }, function(err){ 
       console.log('error occured..'); 
       console.log(err); 
      }); 

エラーは報告されますが、テストに合格します。私はエラーをうまく報告するだけでなく失敗するようにしたい。

答えて

3

エラーを最初のコールバックに投げることでこれを行うことができます。

return selectAll.click().then(function(){ 

     }, function(err){ 
      throw new Error('Error occurred!'); //this would fail the step definition as well 
     }); 
-

あなたはこのような何かを行うことができます