Mam prostą usługę ustawiania ciasteczek pod kątem, ale nie ma oczywistego sposobu na sprawdzenie, czy zostały ustawione w teście end-to-end.W jaki sposób testujesz pliki cookie AngularJS w testach end-to-end?
Kod do testowania jest tak proste jak
var splashApp = angular.module('splashApp', ['ngCookies']);
splashApp.controller('FooterController', function ($location, $cookies) {
$cookies.some_cookie = $location.absUrl();
});
Ale nie mogę znaleźć żadnych docs na jak testować. Oto co znalazłem:
- How to access cookies in AngularJS?
- http://docs.angularjs.org/api/ngCookies $ ciasteczka
- http://docs.angularjs.org/api/ngCookies $ CookieStore
Próbowałem zostały również
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;
}
});
Ale to zwraca tylko.. pliki cookie dla przeglądarki nadrzędnej, a nie strona, którą chcę przetestować.
Wszelkie przykłady, jak to zrobić?
Zakładam, że robisz coś z ciasteczkami, może zmieniając klasę CSS w swoim programie - wszystko, co skutecznie wiąże wartość pliku cookie z czymś zewnętrznym. Spróbuj zamiast tego przetestować? – jclancy
Właściwie nie jestem. Pliki cookie są przechowywane w pewnym momencie sesji, a następnie wysyłane są (automatycznie) na serwer wraz z żądaniem POST. Niestety, nie ma zmiany interfejsu użytkownika z powodu plików cookie. –
Czytałeś to? http://pastie.org/4758669 – jclancy