我正在try 自动化一个测试场景,其中我首先逐个遍历页面,并且在每个页面上遍历元素列表,直到找到我想要的元素,但是当在if语句中满足我的条件时,我设置了一个标志来停止两个循环,但是外部循环继续运行到最后一页,即使我的条件在第二页已经满足,你们能在这方面帮助我吗
我的方法
clickOnNextBtnUntilDisable() {
cy.get(".MuiPagination-ul li button").last().invoke("text").as("lastPage");
cy.get("@lastPage").then((lastPageText) => {
const index = parseInt(lastPageText, 10); // converting last page text into int.
let flag = false;
for (let i = 1; i < index; i++) {
cy.get(".MuiGrid-justify-xs-space-evenly .MuiGrid-container > p").each(
(el, index) => {
if (el.text() === "Test Attribute Do not touch") {
cy.log("Condition met");
flag = true;
return;
}
}
);
if (!flag) {
cy.contains("Next").click();
} else {
return;
}
}
});
}
我的测试
it("Adding question to existing attribute", function () {
dashBoardPage.clickOnSwitchView();
dashBoardPage.clickOnAttributes();
attributesPage.clickOnNextBtnUntilDisable();
});