在Cypress中从JSON API对象数组获取记录数及首个团队名称
解决方法
首先确保你通过cy.request获取API数据时,正确提取响应体的JSON内容并设置别名:
// 发起API请求,提取响应体并设置别名 cy.request('GET', '你的在线API地址') .its('body') // 取出响应中的JSON数据 .as('testing')
接下来通过别名获取数据,直接访问record数组即可拿到你需要的信息:
cy.get('@testing').then((data) => { // 获取记录总数 const recordCount = data.record.length cy.log(`记录总数:${recordCount}`) // 获取第一条记录的team名称 const firstTeamName = data.record[0].team cy.log(`第一条记录的team名称:${firstTeamName}`) // 可选:添加断言验证数据正确性 expect(recordCount).to.equal(2) expect(firstTeamName).to.equal('Test 1') })
你之前代码的问题
你用for...in遍历的是整个返回对象的属性(record和metadata),所以打印的是这两个属性对应的数组和对象,而非数组内部的元素。直接通过data.record就能定位到目标数组,无需遍历整个对象。
内容的提问来源于stack exchange,提问作者Barry Hammer
相关产品推荐
相关产品推荐

