2015-08-23 3 views
2

Как было предложено на странице транспортира Я попытался добавить следующее в моем файле конфигурации:Как отключить анимацию с помощью Protractor в приложении AngularJS?

onPrepare: function() { 

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

    browser.addMockModule('disableNgAnimate', disableNgAnimate); 

    browser.getCapabilities().then(function(caps) { 
     browser.params.browser = caps.get('browserName'); 
    }); 
} 

И это не выключает анимацию.

Я имею дело с веб-сайтом, который сильно анимационного и это винты мои тесты много ..

P.S. Я использую определение TypeScript для Protractor, не так ли?

+0

Check-эту тему, это может быть полезно: HTTP : //stackoverflow.com/questions/26584451/how-to-disable-animations-in-protractor-for-angular-js-appliction –

+0

Я нашел эту тему, прежде чем отправил свой вопрос, и я не мог найти никакой другой информации из что было на странице «Протрактор». – Darkbound

ответ

1

Вы отключили только ng-анимацию.

Для меня намного лучше сделать продолжительность анимации 1 мс против ее отключения. (потому что некоторые обработчики анимации событий в коде)

Try код ниже это ускорит CSS анимации, так что он может решить вашу проблему

onPrepare: function() { 
    // disable animations when testing 
    var disableAnimation = function() { 
     angular.module('disableAnimation', []).run(function ($animate) { 

      // disable css animations 
      var style = document.createElement('style'); 
      style.type = 'text/css'; 
      style.innerHTML = '* {' + 
       '-webkit-transition-duration: 1ms !important;' + 
       '-moz-transition-duration: 1ms !important;' + 
       '-o-transition-duration: 1ms !important;' + 
       '-ms-transition-duration: 1ms !important;' + 
       'transition-duration: 1ms !important;' + 
       '-webkit-animation-duration: 1ms !important;' + 
       '-moz-animation-duration: 1ms !important;' + 
       '-o-animation-duration: 1ms !important;' + 
       '-ms-animation-duration: 1ms !important;' + 
       'animation-duration: 1ms !important;' + 
       '}'; 
      document.getElementsByTagName('head')[0].appendChild(style); 

      // disable angular ng animations 
      $animate.enabled(false); 
     }); 
    }; 

    browser.addMockModule('disableAnimation', disableAnimation); 
} 
Смежные вопросы