Подтвердить что ты не робот

Существуют ли какие-либо проблемы с использованием Angular Material with Protractor для тестирования E2E?

Я испытываю прерывистые таймауты, которые обвиняются в часто задаваемых вопросах Protractor по использованию $timeout для опроса (AKA: waitForAngular timeout). Интересно, не так ли в случае его опроса. Для моей команды это больше освещает, поскольку мы полагаемся на компоненты Angular Material. Они сильно влияют на анимационные взаимодействия с постоянным использованием $timeout (func, 0). Этот вопрос похож на вопрос № 29966301, но он фокусируется на возможной проблеме между Angular Материалом и транспортиром. Мне очень интересно знать, как люди, которые в значительной степени используют Angular Material and Protractor, справляются с такими проблемами, если они вообще сталкиваются с ними.

Интересным моментом является то, что я не видел ни в материалах Gractub, ни в портах, ни в w500 > каких-либо использования возможностей друг друга. Поскольку оба из них являются Angular библиотеками, входящими в ту же группу в Google, @juliemr и Protractor Gang могут разговаривать с @ThomasBurleson и группой Material, чтобы придумать исчерпывающие варианты использования и тесты E2E для Angular Материал, используя Protractor to устраните эти проблемы.

4b9b3361

Ответ 1

Хорошо транспортир предназначен для тестирования angular, поэтому, если вы используете функцию waitForAngular и ваш сайт angular, вы не должны использовать это, вы должны сделать следующее до каждого теста:

browser.ignoreSynchronization = false;

и вы можете сделать это, чтобы ускорить ваши тесты и, вероятно, помочь устранить проблему тайм-аута, в файле protractor-conf.js добавьте этот код:

...

onPrepare: function() {
    var disableNgAnimate = function () {
        angular.module('disableNgAnimate', []).run(function($animate){
            $animate.enabled(false);
        });    
    },
    browser.addMockModule('disableNgAnimate', disableNgAnimate);
},

...

и, возможно, вам стоит проверить этот видео.