Как вы тестируете файлы cookie AngularJS в сквозном тесте?
У меня есть простой сервис, который устанавливает куки в угловых, но нет очевидного способа проверить, что они были установлены в сквозном тесте.
Код для тестирования так же прост, как
var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
$cookies.some_cookie = $location.absUrl();
});
Но я не могу найти никаких документов о том, как проверить. Вот что я нашел:
- Как получить доступ к куки в AngularJS?
- http://docs.angularjs.org/api/ngCookies. $ cookies
- http://docs.angularjs.org/api/ngCookies. $ cookieStore
Я также пытался
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, чтобы помочь проверить навигацию по страницам.