2016-06-27 8 views
1

「データが読み込まれるのを待っています」モーダルが消えるのを待つ必要があり、モーダルが$ http要求の実行に依存するケースがあります。Browser.waitがページ同期にタイムアウトする

私は、予想される条件をProtractor APIに従って使用して、browser.waitステートメントを使用しました。
私の文は、現在、このフォームを持っている:私は、

 
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を設定したくない:

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

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

は、残念ながら、常にメッセージで失敗スペック1つのモーダルが消えてくるのを待つようにプロトラクターに薦めます。助けて?

答えて

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; 
}); 
関連する問題