从 Cypress 中的 JSON API 对象中的数组获取数据[已关闭]

问题描述 投票:0回答:1

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 cypress web-api-testing
1个回答
2
投票

假设您的拦截已使用别名等待,并且数据按照您在响应中所说的方式嵌套,您可以访问响应 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')

这是一个工作示例

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.