6

我有一个简单的服务,可以设置角度的 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,而不是我要测试的页面。

有关如何执行此操作的任何示例?

4

1 回答 1

0

看来您需要使用PhantomJS

PhantomJS 是一个可使用 JavaScript API 编写脚本的无头 WebKit。它具有对各种 Web 标准的快速和原生支持:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。-- PhantomJS 网站

它在其 API 中支持自定义 cookie。在测试方面,这可能是您的最佳选择。您可能还想查看CasperJS来帮助测试页面导航。

于 2013-08-16T23:44:53.110 回答