问题描述
checkWebElemAndAssert(...elements) {
for (const element of elements) {
element.should('be.visible').click().should('be.checked');
}
}
checkRegisterValues = () => {
let maleCheckBox = cy.get('input[value=Male]');
let femaleCheckBox = cy.get('input[value=FeMale]');
let cricketCheckBox = cy.get('#checkBox1');
let registerElemList = [maleCheckBox,femaleCheckBox,cricketCheckBox];
this.browserUtils.checkWebElemAndAssert(...registerElemList);
return this;
}
问题在于,当我使用checkRegisterValues()时,它会为每个操作使用最后一个元素:cricketCheckBox。关于什么是错的任何提示?我希望操作是针对每个元素而不是最后一个。
解决方法
您是否尝试过像这样传递数组?
var startVerdi=1000;
let index = tab.indexOf(slider.value);
if(index != -1){
let res = startVerdi;
for(let i = 0; i <= index; i++)
res *= tabProsent[i];
output2.innerHTML = res;
}
您也可以打印出
this.browserUtils.checkWebElemAndAssert(registerElemList);
看看你传递的是什么
,好的,所以我读了一些,做了这个:
checkWebElemAndAssert2(elements) {
cy.get(elements).each(($list) => {
cy.get($list).click({ multiple: true }).should('be.checked')
})
}
基本上,当我调用checkWebElemAndAssert2时,我将给出列表标识符。似乎可行,但不确定是否符合标准。
checkRegisterValues = () => {
let myList = 'input[type=radio]';
this.browserUtils.checkWebElemAndAssert2(myList);
return this;
}