Cypress 和 JSON 数据相对新手。我有一个可以访问的在线 api。 api有类似这样的数据:
{"record":[{"account":"acount_1","team":"Test 1","req_id":12345},{"account":"acount_2","team":"Test 2","req_id":23456}],"metadata":{"id":"abcde","private":false,"createdAt":"2022-12-21T00:00:00.000Z"}}
我正在尝试找到一种方法来获取 api 中的记录数量,以及获取第一个团队名称。
我最接近获取任何类型的数据是使用这样的东西:
cy.get('@testing').then((data) => {
for (let index in data)
cy.log(data[index])
})
但是,所做的只是向我显示 API 中的内容,而不是数组本身中的数据。我尝试了几十种不同的选择,但没有一个有效。我希望有人可以帮助我!
假设您的拦截已使用别名等待,并且数据按照您在响应中所说的方式嵌套,您可以访问响应 JSON 数据
cy.get('@testing')
// get records and check length
.its('record')
.should('have.length', 2)
// get first team name
.its('0.team')
.should('eq', 'Test 1')
这是一个工作示例。