使用身份验证登录frisby

时间:2015-06-18 19:40:55

标签: javascript rest automated-tests web-api-testing frisby.js

我正在尝试使用frisby进行身份验证令牌登录的测试,问题是:我的请求的响应是字符串而不是JSON,我仍然没有想出如何让它工作。

我已经阅读了一些我发现谷歌搜索的例子,但到目前为止他们还没有帮助。

这是我的代码:

var frisby= require('frisby');

frisby.create('Login')
    .post('http://mid.dev.psafe.com/My.API/security/Authentication.svc/Login',
        {"user":"115303640577606155760"},
        {json:true},
        { headers: { 'Content-Type': 'application/json' }})
    .expectStatus(200)
    .afterJSON(function (token) {
        frisby.globalSetup({
            request: {
                headers: { 'User-Token': token }
            }
        });

        frisby.create('List associated devices')
            .post('http://mid.dev.psafe.com/My.API/APIAdmin.svc/GetDevices',
                {json:true})
            .expectStatus(200)
        .toss();
    })

.toss();

以下是我在测试时得到的结果:

1) Frisby Test: Login 
    [ POST http://mid.dev.psafe.com/My.API/security/Authentication.svc/Login ]
   Message:
     Error: Error parsing JSON string: Unexpected token q
    Given: qO1DkNvKlCaOmNXsrmvGgfIqeCQEztKJHnizItWyfKaXD9H1bwm1eTIgiINCw5Dz0
   Stacktrace:
     Error: Error parsing JSON string: Unexpected token q
    Given: qO1DkNvKlCaOmNXsrmvGgfIqeCQEztKJHnizItWyfKaXD9H1bwm1eTIgiINCw5Dz0
    at _jsonParse (/usr/lib/node_modules/frisby/lib/frisby.js:1219:11)
    at Frisby.<anonymous>     (/usr/lib/node_modules/frisby/lib/frisby.js:950:20)
    at null.<anonymous> (/usr/lib/node_modules/frisby/lib/frisby.js:1112:18)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

Finished in 0.255 seconds
1 test, 2 assertions, 1 failure, 0 skipped

谢谢!

1 个答案:

答案 0 :(得分:1)

我使用.after()代替.afterJSON()。