使用身份验证登录 frisby 请求标头中的参数
Using a authentication login a parameter in request header in frisby
我正在尝试使用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
谢谢!
我使用 .after() 而不是 .afterJSON() 修复了这个问题。
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 原型Ajax请求参数为嵌套json
- 通过Javascript传递请求参数
- 需要解释Javascript regex请求参数解析
- 发送具有复杂、多个参数的POST请求
- JSP--如何获取请求参数
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- 从 Google 云端硬盘请求文件元数据时缺少“downloadUrl”参数
- 使用 PHP 生成的按钮生成 POST 请求,这些按钮调用带有参数的 javascript 函数
- 在 Google 云端硬盘 API 请求中使用参数
- 无法在角度 js 中将参数传递给 http get 请求
- 将请求作为参数传递给函数
- 如何自定义数据::confirm弹出窗口以提示输入,该输入将附加到请求参数中
- 当按下浏览器后退按钮时,如何用相同的post参数激发ajax请求
- ExtJS使用控制器中的View Form Data作为Ajax请求参数
- 在express应用程序中,请求参数两次附加到URL
- 无法使用angularjs$http请求将参数发送到服务器操作方法
- 在angular 2中向http get请求传递url参数
- 在ColdFusion中表单范围中未定义AJAX请求的发布参数
- 如何使用动态请求参数实现像谷歌一样的自动完成