Cypress-我们如何列出某个键下的键名称(而不是这些键的值)

Ugu*_*can 0 automated-tests cypress

我想将键名存储在某个键下。这是一个例子:

{"widget": {
    "debug": "on",
    "window": {
        "title": "Sample Konfabulator Widget",
        "name": "main_window",
        "width": 500,
        "height": 500
    },
    "image": { 
        "src": "Images/Sun.png",
        "name": "sun1",
        "hOffset": 250,
        "vOffset": 250,
        "alignment": "center"
    }
}} 
Run Code Online (Sandbox Code Playgroud)

达到“sun1”这样的最终值是没有问题的。我想将“image”下的关键名称设置为“src”,“name”...;并将它们存储为数组。我不需要他们的价值观。我怎样才能做到这一点?我正在解析“then”结构中的响应;所以这种类型的答案会很棒!

谢谢

Pi.*_*Pi. 5

图像标签深深地嵌套在外部对象中。

这就是我的处理方法

cy.request(...)
  .then(data => {
    const imageKeys = Cypress._.keys(data.widget.image)
    expect(imageKeys).to.deep.eq(['src', 'name', 'hOffset', 'vOffset', 'alignment'])
  })
Run Code Online (Sandbox Code Playgroud)

您还可以链接命令,

cy.request(...)
  .its('widget.image')
  .then(Cypress._.keys)
  .should(imageKeys => {
    expect(imageKeys).to.deep.eq(['src', 'name', 'hOffset', 'vOffset', 'alignment'])
  })
Run Code Online (Sandbox Code Playgroud)