Описание проблемы:
Недавно мы получили эту позорную ошибку, открыв одну из страниц нашего приложения в сквозном тесте Protractor:
Не удалось: время ожидания ожидания асинхронных задач Angular заканчивается через 50 секунд. Это может быть связано с тем, что текущая страница не является приложением Angular.
Это происходит при вызове browser.get("/some/page/");
в одном из наших тестов:
describe("Test", function () {
beforeEach(function () {
browser.get("/some/page/");
});
it("should test something", function () {
// ...
});
)};
И, что странно в нашем случае, заключается в том, что ошибка не выбрасывается ни на какую другую страницу в нашем веб-приложении Angular - Транспортировка синхронизирует с Angular без каких-либо проблем. ng-app
местоположение одинаково на всех страницах - ng-app
определено в корневом теге html
:
<html class="ng-scope" lang="en-us" ng-app="myApp" ng-strict-di="">
Поведение согласовано - каждый раз, когда мы переходим на эту страницу с помощью browser.get()
, мы получаем эту ошибку. Каждый раз, когда мы переходим к любой другой странице нашего приложения, синхронизация работает.
Обратите внимание, что, конечно, мы можем отключить синхронизацию для этой страницы и рассматривать ее как не-w504 > , но это можно рассматривать только как обходной путь.
Вопросы:
Что еще может привести к сбою синхронизации Protractor-to- Angular? Что мы должны проверить?
И, в общем, каков рекомендуемый способ отладки проблем синхронизации в Protractor?
Использование в настоящее время последней версии Protractor 5.5.1, Angular 1.5.6.