在邮递员 BDD 语法中访问 json
accessing json in postman BDD syntax
我正在尝试用 BDD 语法编写测试(GET 请求),如
https://www.npmjs.com/package/postman-bdd
json 响应可以如下所示,可以使用 console.log(response.body)
;
在邮递员中显示
{
"Id1": {
"a": 84,
"b": 74,
"c": 7,
"d": 3,
"e": 91
},
"Id2": {
"a": 25,
"b": 51,
"c": 93,
"d": 97,
"e": 1
}
}
请告诉我如何访问 BDD 语法中 Id1 和 Id2 的 a、b、c 等键的值。
我尝试了 console.log(response.body.Id1);
和 console.log(response.body.Id1.a)
,但都不起作用。
您需要在测试中使用 eval()
语句引用 postmanBDD
模块。这需要保存为邮递员全局变量才能工作。
eval(globals.postmanBDD)
var jsonData = pm.response.json()
describe('Get Ids', () => {
it('should return the correct Id', () => {
expect(jsonData.Id1.a).to.equal(84)
})
})
这是从 JSON 个对象中提取数据的 basic example。
作为替代方案,您现在可以在最新的 Postman 应用程序中执行相同的操作,而无需引入外部 PostmanBDD
模块:
pm.test('Get Id value', () => {
var jsonData = pm.response.json()
pm.expect(jsonData.Id1.a).to.equal(84)
})
此测试代码的作用与第一个解决方案相同。
我正在尝试用 BDD 语法编写测试(GET 请求),如 https://www.npmjs.com/package/postman-bdd
json 响应可以如下所示,可以使用 console.log(response.body)
;
{
"Id1": {
"a": 84,
"b": 74,
"c": 7,
"d": 3,
"e": 91
},
"Id2": {
"a": 25,
"b": 51,
"c": 93,
"d": 97,
"e": 1
}
}
请告诉我如何访问 BDD 语法中 Id1 和 Id2 的 a、b、c 等键的值。
我尝试了 console.log(response.body.Id1);
和 console.log(response.body.Id1.a)
,但都不起作用。
您需要在测试中使用 eval()
语句引用 postmanBDD
模块。这需要保存为邮递员全局变量才能工作。
eval(globals.postmanBDD)
var jsonData = pm.response.json()
describe('Get Ids', () => {
it('should return the correct Id', () => {
expect(jsonData.Id1.a).to.equal(84)
})
})
这是从 JSON 个对象中提取数据的 basic example。
作为替代方案,您现在可以在最新的 Postman 应用程序中执行相同的操作,而无需引入外部 PostmanBDD
模块:
pm.test('Get Id value', () => {
var jsonData = pm.response.json()
pm.expect(jsonData.Id1.a).to.equal(84)
})
此测试代码的作用与第一个解决方案相同。