我有一个简单的服务,以角度设置cookie,但没有明显的方法来测试它们是否已经在端到端测试中设置。
要测试的代码就像
一样简单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;
}
});
但是这只返回父浏览器的cookie,而不是我想要测试的页面。
有关如何执行此操作的任何示例?
答案 0 :(得分:0)
您似乎需要使用PhantomJS。
PhantomJS是一个带有JavaScript API的无头WebKit脚本。它 为各种Web标准提供快速和本机支持:DOM处理, CSS选择器,JSON,Canvas和SVG。 - PhantomJS website
它在API中支持自定义Cookie。 在测试方面,这可能是您的最佳选择。 您可能还需要查看CasperJS以帮助测试页面导航。