2016-09-02 2 views
1

각도기 - 오이 기반 프레임 워크에서 오류를 처리하는 방법은 무엇입니까?각도기 - 프레임 워크에서 오류 처리

오류가 발생하여 오류가 발생하고 자바 스크립트 코드에 오류가 있습니다 (예 : 요소를 찾을 수 없음, 배열이 비어 있거나 정의되지 않은 것 등). 나는 나중에 우아한 방식으로 처리하고 싶다.

현재 분도기 테스트는 상기 오류로 인해 실패하지만 메시지는 이해하기 어렵고 이해하기 어렵습니다. 그들은 거의 각도기 라이브러리 파일에서 오류의 위치를 ​​가리 아닌 실제 오류가 스크립트에서 (파일 이름, 줄 번호 등)가 발생한 위치 내가 할 때

예를 들어

"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 
     }); 
-

당신이 뭔가를 할 수 있습니다