2016-06-27 2 views
1

"대기중인 데이터 대기 중"모달이 사라질 때까지 기다릴 필요가 있으며 모달은 $ http 요청 실행에 따라 달라집니다.Browser.wait에서 페이지 동기화 시간이 초과되었습니다.

예상 된 조건을 Protractor API에 따라 사용하여 browser.wait 문을 사용했습니다.

beforeEach(function() { 
    browser.wait(element(EC.invisibilityOf(element(by.css(".msg-overlay"))), 30000); 
}); 

it("describes something", function() { 
    ...do some actions involving clicking... 
}) 

불행하게도 항상 스펙은 메시지와 함께 실패합니다 :
내 문은 현재이 양식이

 
Message: 
    Failed: Timed out waiting for Protractor to synchronize with the page after 11 seconds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md 
    While waiting for element with locator - Locator: By(css selector, .msg-overlay). 
    The following tasks were pending: 
    - $http: 
Stack: 
    Error: Failed: Timed out waiting for Protractor to synchronize with the page after 11 seconds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md 
    While waiting for element with locator - Locator: By(css selector, .msg-overlay). 
    The following tasks were pending: 
    - $http: 
     at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:101:16 
     at Promise.invokeCallback_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14) 
     at TaskQueue.execute_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14) 
     at TaskQueue.executeNext_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21)

이 실제 감속하는 것처럼 내가, 30000에 allScriptsTimeout을 설정하지 않으은 실패를 I 각도기가 하나의 모달이 사라질 때까지 기다리는 것이 좋습니다. 도움?

답변

0

나는 당신이 (테스트되지 않음) jasmine default timeout interval와 함께 할 것입니다 당신이 일시적으로 유사한 방식으로 비행에 allScriptsTimeout을 변경할 수 있습니다 생각 :

var originalTimeout; 

beforeEach(function() { 
    originalTimeout = browser.allScriptsTimeout; 
    browser.allScriptsTimeout = 35000; 
    browser.wait(element(EC.invisibilityOf(element(by.css(".msg-overlay"))), 30000); 
}); 

afterEach(function() { 
    browser.allScriptsTimeout = originalTimeout; 
}); 
관련 문제