从Cypress的JSON API对象中的数组获取数据

monwx1rj  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(156)

相对新手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中的内容,而不是数组本身的数据。我尝试了几十种不同的选择,没有一种奏效。我希望有人能帮帮我!

bvuwiixz

bvuwiixz1#

假设您的拦截是使用别名等待的,并且数据是嵌套的,正如您在响应中所说的那样,您可以访问响应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')

这是一个可以正常工作的example

相关问题