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

    });
});

このテストは失敗し、データが null であると表示されます。印刷getCookies()すると、すべての Cookie が印刷されますが、テスト Cookie はそこにありません。これについての助けを本当に感謝します!ありがとう!

4

2 に答える 2

4

if you use angular $cookies in your actual code to read cookie value, using ngCookies module inside protoractor spec code might be easier. The following spec code works for me.

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 に答える