2

我无法在 Protractor for Angularjs 中进行非常简单的添加和获取 cookie 测试。这是测试块:

describe("Homepage", function () {
    var ptor;

    beforeEach(function () {
        ptor = protractor.getInstance();
        browser.get('/');
        ptor.manage().addCookie("test", "testValue");
    });


    it('should have cookie with name test and value textValue', function () {
        ptor.manage().getCookie("test").then(function(data){
            expect(data.value).toBe("testValue");
        });

    });
});

该测试失败并说数据为空。如果我打印getCookies()它会打印所有的 cookie 但测试 cookie 不会在那里。真的很感激这方面的一些帮助!谢谢!

4

2 回答 2

4

如果您在实际代码中使用 angular $cookies 来读取 cookie 值,则在量角器规范代码中使用 ngCookies 模块可能会更容易。以下规范代码适用于我。

describe('angularjs test', function() {

  it('should do something with cookie', function() {
    var mock_code = function () {
      angular.module('httpBackendMock', ['ngMockE2E','ngCookies'])
      .run(function ($httpBackend, $cookies) {
        $cookies.foo = 'bar';
      });
    };
    browser.addMockModule('httpBackendMock', mock_code);
    browser.get('/');

    // test code

  });
});
于 2015-09-01T12:27:43.400 回答
3

回答这个问题:https ://github.com/angular/protractor/issues/341

感谢朱莉的帮助!!

于 2013-12-18T19:51:22.857 回答