Тестирование Angularjs e2e с помощью средства запуска тестов сценариев — игнорировать оповещение ()

Я создаю тест e2e для своего приложения, и у меня возникла проблема при тестировании страницы входа. Я хочу проверить как правильный логин, так и неправильный, но проблема в том, что когда вы вводите неправильные учетные данные, вы получаете предупреждение («Ваш адрес электронной почты или пароль неверен»), и это также срабатывает в тесте e2e, что означает, что я должен нажмите кнопку «ОК» в предупреждении (), чтобы продолжить тест. Есть ли способ игнорировать alert() в тесте?


person Adrian Neatu    schedule 01.11.2013    source источник


Ответы (2)


Пожалуйста, взгляните на https://github.com/katranci/Angular-E2E-Window-Dialog-Commands

Вы можете добавить alertOK(); в свой тест, прежде чем будет показано предупреждение, и это позволит вам пропустить его.

person Piotr Kozlowski    schedule 06.02.2014

Конечно, это больше не обязательно будет квалифицироваться как E2E, но вы можете абстрагировать оповещение для службы в любой директиве, контроллере или службе, имеющей вызов alert(), а затем просто издеваться над этой конкретной службой. Вот пример:

JavaScript

var myApp = angular.module('myApp', []);

myApp.factory('alert', function () {
  return function (message) {
    alert(message);
  };
});

myApp.controller('MyController', function ($scope, alert) {
  $scope.alert = alert;
});

Просмотреть

<body ng-app="myApp" ng-controller="MyController">
  <div ng-init="alert('test')"></div>
</body>
person Jesus is Lord    schedule 01.11.2013
comment
Да, но мне это нужно для запуска тестовых сценариев angular, и, насколько я знаю, я не могу издеваться/обрабатывать сервисы там ... это для модульного тестирования, где меня не беспокоит предупреждение. - person Adrian Neatu; 02.11.2013