如何在e2e测试中使用CSRF令牌?

时间:2015-07-31 07:10:17

标签: protractor mocha angularjs-e2e mean.io

我们正在MEAN.io做一个项目,我们使用CSRF令牌授权导航。现在我们决定对项目进行自动化测试,但是在为POST方法运行测试用例时我们遇到了禁止错误,因为CSRF,我们无权从外部访问URL。我们如何通过测试用例传递CSRF令牌。

示例测试用例代码:

describe('POST /signin', function () {

// ...
var session;
var csrfToken;


beforeEach(function (done) {
    session.get('/signin')
        .end(function (err, res) {
            if (err) return done(err);
            csrfToken = extractCsrfToken(res);
            done();
        });
});

it('should accept the result', function (done) {
    session
        .post('/signin')
        .send({
            _csrf: csrfToken,
            username: 'foo',
            password: 'bar'
        })
        .expect(201)
        .end(done)
});
// ...
});

0 个答案:

没有答案