试图找出为什么我无法让它工作?另外,控制台没有给出太多结果。
场景:
因此,我需要能够将其存储为集合变量,并在从会话注销/删除 API 管理会话时使用该令牌。
控制台错误:
There was an error in evaluating the test script: JSONError: Unexpected token 'o' at 1:2 [object Object] ^
测试:
var response = pm.response.json()
var jsonData = JSON.parse(response)
pm.collectionVariables.set("token", jsonData.response.token);
回复正文:
{
"response": {
"token": "***"
},
"messages": [
{
"code": "0",
"text": "OK"
}
]
}
非常感谢您的建议!
JSON.parse(responseBody) 始终获取响应的 json 表示。
一个完整的故障安全方法是:
pm.test("response is ok", ()=>{
pm.response.to.have.status(200)
})
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.token);
if(pm.response.code == 200){
pm.environment.set("variable_name",pm.response.json().field_name)
}
variable_name 是环境中变量设置的名称,field_name 是 GET、POST 或任何方法响应中的字段或属性的名称。
这是我使用的方法。
pm.test("response is ok", ()=>{
if( pm.response.to.have.status(200)){
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.token);
}
})
您需要根据情况更改您的状态代码。
希望有帮助