我試圖爲我們的角度應用程序設置端到端測試,但我遇到了幾個障礙。量角器延期推輓
一個是引導。我們正在使用這個庫:angular-deferred-bootstrap來引導我們的應用程序。這個庫允許我們使http調用的結果被注入我們的應用程序(如角value()
)。然後它調用bootstrap
函數來實際引導應用程序的角度。我希望測試在完成這個增強記錄後運行。
這是我迄今
describe('navigation should', function() {
beforeEach(function() {
// load homepage
browser.get('/');
}, 10000);
it('show side navigation', function() {
browser.wait(function() {
var deferred = protractor.promise.defer();
element(by.css('body.deferred-bootstrap-loading')).isPresent()
.then(function (isPresent) {
deferred.fulfill(!isPresent);
});
return deferred.promise;
});
});
});
完成的圖書館方便地把對body
一個deferred-bootstrap-loading
類。我正在等待,直到它被刪除。
問題是有時我得到錯誤Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability\nhttp://errors.angularjs.org/1.4.8/ng/test"
。
它似乎比它(測試)傳遞更頻繁地產生這個錯誤。
我不明白這是什麼問題?量角器在角度有機會運行之前運行嗎?
如果browser.wait
返回承諾,我是否必須在回調中運行所有測試?
此外,我想這個代碼運行每個測試(等待引導完成)。組織這個的最好方法是什麼?
你應該擁抱一個擁抱 – Umair