Testing 如何在cypress中获取特定属性值的数组
我在DOM中有几个元素,每个元素都有自己的属性“id”。我需要创建一个函数,该函数迭代抛出所有这些元素,并将值推送到数组中。这个故事的圆满结局是,这个函数将给我这个包含所有“id”值的数组 我试过这个:Testing 如何在cypress中获取特定属性值的数组,testing,automation,automated-tests,cypress,end-to-end,Testing,Automation,Automated Tests,Cypress,End To End,我在DOM中有几个元素,每个元素都有自己的属性“id”。我需要创建一个函数,该函数迭代抛出所有这些元素,并将值推送到数组中。这个故事的圆满结局是,这个函数将给我这个包含所有“id”值的数组 我试过这个: function getModelIds() { let idList = []; let modelId; cy.get(someSelector).each(($el) => { cy.wrap($el).invoke('attr', 'id').then(lid
function getModelIds() {
let idList = [];
let modelId;
cy.get(someSelector).each(($el) => {
cy.wrap($el).invoke('attr', 'id').then(lid => {
modelId = lid;
idList.push(modelId);
});
});
return idList;
}
如果您能帮助我将此代码重写为一个函数,该函数将返回一个包含所有“id”值的数组,我们将不胜感激。您可以:
Cypress.Commands.add(
“getAttributes”,
{
主题:对,
},
(主题,属性)=>{
常量attrList=[];
cy.wrap(主题)。每个($el=>{
cy.wrap($el)
.invoke('attr',attr)
。然后(lid=>{
按下(盖子);
});
});
返回cy.wrap(属性列表);
}
);
您以后可以这样使用它:
cy.get(someSelector)
.getAttributes('id'))
。然后(ID=>{
cy.log(ids);//记录表示ID的字符串数组
});