如何遍历所有 body objects
How to iterate through the all the body objects
我想断言我的 response.body 是否不包含某些提供的值。 body 让我们假设 10 objects。所有 objects 都有“id”字段。如何在请求响应中使用某种 each 或 forEach?我知道我可以使用
expect(response.body[0].requestId).not.eq(value);
expect(response.body[1].requestId).not.eq(value);
expect(response.body[2].requestId).not.eq(value);
expect(response.body[3].requestId).not.eq(value);
但我不知道如何以更优化的方式对其进行编码。
我准备了数组:
const bodyObjects = [
'body[0]',
'body[1]',
'body[2]',
'body[3]',
'body[4]',
];
我的代码
it.only("Something "A" should not see something "B"", () => {
const bodyObjects = [
'body[0]',
'body[1]',
'body[2]',
'body[3]',
'body[4]',
];
cy.request({
method: "POST",
url: Cypress.env("URL",
auth: {
bearer: token,
},
body: {
id: someId,
},
}).then((response, $bodyObjects) => {
responseId = response.body.id;
expect(response.status).to.eq(201);
**MY POTENTIAL ASSERTION**
})
});
您可以这样申请 forEach
:
it.only('Something "A" should not see something "B""', () => {
const bodyObjects = ['body[0]', 'body[1]', 'body[2]', 'body[3]', 'body[4]']
cy.request({
method: 'POST',
url: Cypress.env('URL'),
auth: {
bearer: token,
},
body: {
id: someId,
},
}).then((response, $bodyObjects) => {
responseId = response.body.id
expect(response.status).to.eq(201)
bodyObjects.forEach((bodyObject) => {
expect(response[bodyObject].requestId).not.eq(value)
})
})
})
考虑到 response.body
是一个数组,您可以使用 forEach
循环来遍历它们:
responde.body.forEach(res => {
expect(res.requestId).not.eq(value)
})
我想断言我的 response.body 是否不包含某些提供的值。 body 让我们假设 10 objects。所有 objects 都有“id”字段。如何在请求响应中使用某种 each 或 forEach?我知道我可以使用
expect(response.body[0].requestId).not.eq(value);
expect(response.body[1].requestId).not.eq(value);
expect(response.body[2].requestId).not.eq(value);
expect(response.body[3].requestId).not.eq(value);
但我不知道如何以更优化的方式对其进行编码。
我准备了数组:
const bodyObjects = [
'body[0]',
'body[1]',
'body[2]',
'body[3]',
'body[4]',
];
我的代码
it.only("Something "A" should not see something "B"", () => {
const bodyObjects = [
'body[0]',
'body[1]',
'body[2]',
'body[3]',
'body[4]',
];
cy.request({
method: "POST",
url: Cypress.env("URL",
auth: {
bearer: token,
},
body: {
id: someId,
},
}).then((response, $bodyObjects) => {
responseId = response.body.id;
expect(response.status).to.eq(201);
**MY POTENTIAL ASSERTION**
})
});
您可以这样申请 forEach
:
it.only('Something "A" should not see something "B""', () => {
const bodyObjects = ['body[0]', 'body[1]', 'body[2]', 'body[3]', 'body[4]']
cy.request({
method: 'POST',
url: Cypress.env('URL'),
auth: {
bearer: token,
},
body: {
id: someId,
},
}).then((response, $bodyObjects) => {
responseId = response.body.id
expect(response.status).to.eq(201)
bodyObjects.forEach((bodyObject) => {
expect(response[bodyObject].requestId).not.eq(value)
})
})
})
考虑到 response.body
是一个数组,您可以使用 forEach
循环来遍历它们:
responde.body.forEach(res => {
expect(res.requestId).not.eq(value)
})