Как вы тестируете файлы cookie AngularJS в сквозном тесте?

У меня есть простой сервис, который устанавливает куки в угловых, но нет очевидного способа проверить, что они были установлены в сквозном тесте.

Код для тестирования так же прост, как

var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
    $cookies.some_cookie = $location.absUrl();
});

Но я не могу найти никаких документов о том, как проверить. Вот что я нашел:

Я также пытался

angular.scenario.dsl('cookies', function() {
  var chain = {};
  chain.get = function(name) {
    return this.addFutureAction('get cookies', function($window, $document, done) {
      var injector = $window.angular.element($window.document.body).inheritedData('$injector');
      var cookies = injector.get('$cookies');
      done(null, cookies);
    });
  };
  return function() {
    return chain;
  }
});

Но это возвращает только куки для родительского браузера, а не страницу, которую я хочу проверить.

Есть примеры, как это сделать?

1 ответ

Кажется, вам нужно использовать PhantomJS.

PhantomJS - это автономный сценарий WebKit с JavaScript API. Он имеет быструю и встроенную поддержку различных веб-стандартов: обработка DOM, селектор CSS, JSON, Canvas и SVG. - сайт PhantomJS

В его API есть поддержка пользовательских куки. С точки зрения тестирования, это, вероятно, ваш лучший выбор. Возможно, вы захотите взглянуть на CasperJS, чтобы помочь проверить навигацию по страницам.

Другие вопросы по тегам