从Cypress中的JSON响应获取属性响应正文

8i9zcol2  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(109)

是否有人可以帮助解决以下问题:

{
    "data": {
        "actor": {
            "account": {
                "nrql": {
                    "results": [
                        {
                            "TotalCoreUI": 0
                        }
                    ]
                }
            }
        }
    }
}

尝试使用以下代码:

expect(response.status).to.eq(200)
            expect(response.body, 'response body').to.deep.equal(
                {"data":{"actor":{"account":{"nrql":{"results":[{"TotalCoreUI":0}]}}}},
            })

我想要AssertTotalCoreUI,但收到以下消息:响应主体:应为[ {有效负载:{数据:[对象] } }]深度等于{对象(数据)}
我做错了什么?先谢谢你

5uzkadbs

5uzkadbs1#

错误消息指出bodydata属性之间存在payload键。
试试这个:

it('checks the response body', () => {

  const response = {
    body: {
      payload: {                 // this level is missing in your sample
        data: {
          actor: {
            account: {
              nrql: {
                results: [
                  {
                    TotalCoreUI: 0,
                  },
                ],
              },
            },
          },
        },
      },
    },
  }

  expect(response.body, 'response body').to.deep.equal({
    payload: { data: { actor: { account: { nrql: { results: [{ TotalCoreUI: 0 }] } } }}},
  })
})

或者方括号也可能是response.body的一部分,如果是的话

expect(response.body, 'response body').to.deep.equal(
  [
    {
      payload: { data: { actor: { account: { nrql: { results: [{ TotalCoreUI: 0 }] } } }},
    }
  ]
)

相关问题