计算 children 返回的数量并使用 Cypress 将 children 属性推入数组
count number of children returned and push the children attribute into array using Cypress
我正在尝试计算 children 在执行
时返回的数量
cy.xpath(NODE_PREVIEW_PANEL).children('data-testid')
这样我就可以使用计数将所有值按顺序传递到数组中,避免 .each()
函数的异步。
如何在此处获取 children 的计数?
(或者您可以提出完全不同的解决方案)
我成功使用的一种方法是使用reference variable
let variablesToValidate = {
numberOfChildren: 0,
attributes: []
}
cy.xpath(NODE_PREVIEW_PANEL)
.children('data-testid')
.each(($element, index, $array) =>{
cy.wrap($element)
.should('have.attr', 'attributeName')
.then(atrributeValue => variablesToValidate.attributes.push(atrributeValue))
})
.then($array => variablesToValidate.numberOfChildren = $array.length)
您可以使用索引值来查找元素的位置。你可以这样做:
cy.xpath(NODE_PREVIEW_PANEL).children('data-testid').each((el, index) => {
//It will give the position of the element
Array.push(index);
})
我正在尝试计算 children 在执行
时返回的数量 cy.xpath(NODE_PREVIEW_PANEL).children('data-testid')
这样我就可以使用计数将所有值按顺序传递到数组中,避免 .each()
函数的异步。
如何在此处获取 children 的计数?
(或者您可以提出完全不同的解决方案)
我成功使用的一种方法是使用reference variable
let variablesToValidate = {
numberOfChildren: 0,
attributes: []
}
cy.xpath(NODE_PREVIEW_PANEL)
.children('data-testid')
.each(($element, index, $array) =>{
cy.wrap($element)
.should('have.attr', 'attributeName')
.then(atrributeValue => variablesToValidate.attributes.push(atrributeValue))
})
.then($array => variablesToValidate.numberOfChildren = $array.length)
您可以使用索引值来查找元素的位置。你可以这样做:
cy.xpath(NODE_PREVIEW_PANEL).children('data-testid').each((el, index) => {
//It will give the position of the element
Array.push(index);
})