邮递员-在一个测试中使用来自一个测试的部分响应数据

Arc*_*her 5 postman

我需要执行邮递员测试的帮助,该测试需要另一个测试的响应输出。我已经与各种论坛进行了核对,但是没有针对此特定方案的解决方案。

测试1回应:

{
"items": [
    {
        "email": "archer+qa01@gmail.com",
        "DocumentName": "tc",
        "type": "URL",
        "url": "https://localhost:8443/user/terms?statusno=a5f2-eq2wd3ee45rrr"
     }
  ]
}
Run Code Online (Sandbox Code Playgroud)

测试2:

需要使用来自的a5f2-eq2wd3ee45rrr部分响应数据Test 1,可以在url上面的值中看到。我需要在内部使用此值Test 2

如何与邮递员一起工作?

Dan*_*ton 6

不能完全确定问题的响应数据格式是什么,但是如果它是仅带有url属性的简单对象,则可以使用如下所示的简单方法:

var str = pm.response.json().url
pm.environment.set('value', str.split('=', 2)[1])
Run Code Online (Sandbox Code Playgroud)

然后,这将为变量设置所需的值,以便在下一个请求中使用{{value}}POST请求正文中的语法,或者pm.environment.get('value')在其中一个测试脚本中使用。

邮差

编辑:

如果该url属性在数组中,则可以遍历这些属性并以这种方式提取值。这将设置变量,但是如果url数组中有多个属性,它将设置找到的最后一个属性。

_.each(pm.response.json(), (arrItem) => {
    pm.environment.set('value', arrItem[0].url.split('=', 2)[1])
})
Run Code Online (Sandbox Code Playgroud)

邮差