2013-07-28 47 views
6

Tôi có một dịch vụ đơn giản đặt cookie theo góc cạnh, nhưng không có cách nào rõ ràng để kiểm tra xem chúng đã được đặt trong thử nghiệm đầu cuối hay chưa.Làm thế nào để bạn kiểm tra các cookie AngularJS trong một bài kiểm tra đầu cuối?

Mã để kiểm tra cũng đơn giản như

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

Nhưng tôi không thể tìm thấy bất kỳ tài liệu về cách để kiểm tra. Đây là những gì tôi đã tìm thấy:

Tôi cũng đã thử

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; 
    } 
}); 

Nhưng điều này chỉ trả về.. cookie cho trình duyệt chính, không phải trang tôi muốn kiểm tra.

Bất kỳ ví dụ nào về cách thực hiện việc này?

+0

Tôi cho rằng bạn đang làm điều gì đó với cookie, có thể thay đổi một lớp CSS, trong chương trình của bạn - bất kỳ thứ gì liên kết hiệu quả giá trị của cookie với một thứ gì đó bên ngoài. Hãy thử kiểm tra thay vào đó? – jclancy

+0

Tôi không thực sự. Các cookie được lưu trữ tại một số thời điểm trong phiên, sau đó chúng được gửi (tự động) đến máy chủ cùng với một yêu cầu POST. Không có thay đổi giao diện người dùng nào vì cookie, thật không may. –

+0

Bạn đã đọc cái này chưa? http://pastie.org/4758669 – jclancy

Trả lời

0

Dường như bạn cần sử dụng PhantomJS.

PhantomJS là một WebKit không đầu có thể đọc được bằng API JavaScript. Nó có hỗ trợ nhanh và bản địa cho các tiêu chuẩn web khác nhau: xử lý DOM, Bộ chọn CSS, JSON, Canvas và SVG. - PhantomJS website

Nó có hỗ trợ cookie tùy chỉnh trong API của nó. Xét về mặt thử nghiệm, đây có lẽ là lựa chọn tốt nhất của bạn. Bạn cũng có thể muốn xem CasperJS để giúp kiểm tra điều hướng trang.

Các vấn đề liên quan