赛普拉斯访问数组元素API响应嵌套json

时间:2020-06-16 20:57:26

标签: json automation cypress

我不太想知道如何作为JSON主体的一部分访问数组中的第0个元素,以检查API响应。我尝试了各种方法,但似乎都不正确。

我目前以以下示例为例:

我猜这并不困难,但是对于我的一生,我无法弄清楚。谢谢!

        cy.get('@dogs')
            .its('body')
            .its('breeds[0]')
            .its('names')
            .should('include', {
                count: ('10'),
            });

1 个答案:

答案 0 :(得分:1)

请参阅its。应当使用its分别访问索引。

响应JSON:

{
  "sample": [
    { "names": ["Dummy 1", " Dummy 2"] },
    { "names": ["Dummy 3", " Dummy 4"] },
    { "names": ["Dummy 5", " Dummy 6"] }
  ]
}

数组中的最后一个对象应按以下方式访问:

// to check a child's length
  cy.get('@sample')
    .its('body') // 'responseBody' in case of latest cypress version
    .its('sample')
    .its('2')
    .its('names')
    .its('length')
    .should('eq', 2);

// To check content
  cy.get('@sample')
    .its('body') // 'responseBody' in case of latest cypress version
    .its('sample')
    .its('2')
    .its('names')
    .its(1)
    .should('include', '6');

屏幕截图:

test_screenshot1 test_screenshot2