Это мой первый пост на StackOverflow, поэтому, пожалуйста, будьте осторожны.Транспортир в контейнере докера - Подождите, пока загрузится полная страница
Я выполняю некоторые испытания с помощью контейнера Docker. Тесты хорошо работают с контейнером, но в нем транспортир не ждет некоторых угловых вызовов ajax, чтобы полностью заполнить некоторый div.
it('Should check first years are equal', function() {
var firstElementFirstYear = $$('div.cumulated div.street-table-value.ng-scope div.ng-binding.ng-scope').get(8).getInnerHtml().then(function(text) {return text.trim();});
var secondElementFirstYear = $$('div.cumulated div.street-table-value.ng-binding.ng-scope').get(8).getInnerHtml().then(function(text) {return text.trim();});
expect(firstElementFirstYear).toEqual(secondElementFirstYear);
},10000);
Тогда я получаю индекс из ограничивающего исключения.
Я пробовал:
- использовать waitForAngular в beforeEach.
- ожидание для ожидаемого условия (число> 9) должны быть выполнены, но он получает timedout
- browser.sleep (4000) перед тем, как элементами
- пытался найти мои элементы с помощью инструмента транспортира отладки, запуск хрома браузер, и я получаю мои 10 элементов правильно, когда я найти их вручную
Но мне не удается получить все необходимые элементы, число элементов остается на 5 и никогда не идут на 10.
Что еще я мог бы попытаться подождать, пока Угловая, чтобы закончить призывы ajax и popula Те мои девы?
Спасибо!
У нас возникли проблемы с кодом. – FCin
Это не протактор, чтобы ждать. Это вы должны ждать, когда обещание будет разрешено с помощью 'then', и не используете ли вы $ httpBackend для издевки серверной части? – Walfrat
'$$ ('div.someclass'). Get (8);' возвращает обещание, которое вам нужно решить. Итак, вы делаете '$$ ('div.someclass'). Get (8) .then (function (data) {});' – FCin