2017-01-24 14 views
1

로그인 페이지에서 회 전자를 처리하기 위해 browser.wait을 사용하지만 실제로는 세 번째 매개 변수로 전달한 전체 시간을 기다리고 있습니다.각도기의 명시 적 대기가 작동하지 않습니다.

20 분 기다림을 제공하면서 홈 페이지가 15 분 후에 나타나면 다음 테스트 케이스로 넘어 가야합니다. 누구든지 여기서 도와 줄 수 있겠 어.

it('test case', function() { 
     loginPage.login(browser.params.Login.username, browser.params.Login.password); 
     browser.wait(function() { 
     loginPage.Spinner().then(function(presenceOfElement) { 
      logger.info('App is waiting for spinner to complete'+ presenceOfElement); 
      return !presenceOfElement 
     }, 20*60*1000); 
     }); 
    }); 
+1

스피너가 디스 파퍼를 기다리고 있다고 가정 할 때 - 보이지 않는 상태로 시도 했습니까? http://www.protractortestore.org/#/api?view=ProtractorExpectedConditions.prototype.invisibilityOf. – Grasshopper

+0

'Spinner()'함수를 게시 할 수 있습니까? 약속을 해결하지 못하는 것으로 보입니다. 즉, 여기에서 읽고 있습니다. http://www.protractort.org/#/api?view=webdriver.WebDriver.prototype.wait –

+0

@ bob.mazzo 여기 내 페이지 개체 기능입니다. this.Spinner = element (by.tagName ('a')); this.Spinner = function() { return 브라우저 .isElementPresent (this.Spinner); }; – tyaga001

답변

0

페이지 개체와 테스트를 다시 작성하여 테스트에서 어떤 일이 벌어지고 있는지 명확하게 할 것을 제안합니다. 이것을 시도하십시오 :

// loginPage page object 
this.getSpinner = function() { 
    return element(by.tagName('a')); 
}; 

// test 
browser.wait(function() { 
    return loginPage.getSpinner().isPresent().then(function (isSpinnerPresent) { 
     return !isSpinnerPresent; 
    )}; 
}, 20*60*1000); 
+0

위의 용액에서도 같은 결과가 나타납니다. 테스트 케이스가 전체 20 분을 기다리고 있습니다 심지어 로그인 패스 스피너가 5 분 이내에 들어갑니다 – tyaga001

+0

스피너 요소가 숨겨진 것이 아니라 5 분 후에도 DOM에 계속 남아 있습니까? 이 경우'isPresent()'대신'isDisplayed()'를 테스트해야합니다. – finspin

+0

로거를 넣었으므로 로그인 요소가 숨겨져 있지 않습니다. & false를 반환합니다. 로거 결과 - 다운로드 [2017-01-25 09 : 58 : 29.883] [기본값] - 응용 프로그램이 초기 콘텐츠 다운로드를 기다리는 중입니다. [2017-01-25 09 : 59 : 06.659] [INFO] [INFO] 기본값] - 응용 프로그램이 초기 내용을 기다리고 있습니다 – tyaga001