如何从邮递员的回复正文中提取值

时间:2018-11-07 16:22:56

标签: postman

发布请求后,API返回响应主体为字符串

响应主体外观

  

{UniqueID = 93243434,birthGender = M,birthDate = 11/1/2018 5:51:18   PM,familyNames = James,givenNames = Test}

当我尝试使用以下代码设置环境变量时

var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("currentUniqueId", data.UniqueId);

我在测试结果中遇到以下错误

  

错误消息:   评估测试脚本时出错:JSONError:   1:3时出现意外令牌'U'{UniqueID = 93243434,birthGender =   M,birthDate = 11/1/2018 5:51:18 PM,家庭^

我的目标是我需要提取值93243434并分配给环境变量。

3 个答案:

答案 0 :(得分:2)

您好,您使用的是正确的方法,但是您可以尝试使用此版本

var jsonData = pm.response.json();
pm.environment.set("UNIQUE_ID", jsonData.UniqueID);

set("UNIQUE_ID"将帮助您将其保存在变量中,您可以根据需要对其进行命名,jsonData.uniqueID将从Json响应中提取您想要的内容

如果您查看我的方法,我将提取访问代码和公司ID并将其保存在变量中,然后在所有下一个api的

中调用

答案 1 :(得分:0)

您确定您的变量不应该改为kubectl get po -w吗?

或者只使用cmd-example-5cccf79598-zpvmz 1/1 Running 0 2s cmd-example-5cccf79598-zpvmz 1/1 Terminating 0 6s cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 37s cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 38s cmd-example-5cccf79598-zpvmz 0/1 Terminating 0 38s

答案 2 :(得分:0)

您使用的注释模式已过时。

代替使用以下方法设置变量:

var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("currentUniqueId", data.UniqueId);

尝试以这种方式设置变量:

pm.environment.set('currentUniqueId', pm.response.json().UniqueID);

要获取更多信息,请尝试:https://learning.getpostman.com/docs/postman/scripts/test_examples/