【发布时间】:2017-03-26 15:13:05
【问题描述】:
我正在一个站点上进行 e2e 测试,该站点包含一个我需要迭代“直到”找到一个在我单击它时不会失败的表。
我使用filter 进行了尝试,它正在工作:
this.selectValidRow = function () {
return Rows.filter(function (row, idx) {
row.click();
showRowPage.click();
return errorMessage.isDisplayed().then(function (displayed) {
if (!displayed) {
rowsPage.click(); // go back to rows Page, all the rows
return true;
}
});
}).first().click();
};
这里的问题是它正在迭代 所有 可用的行,而我只需要第一个有效的行(不显示 errorMessage)。
我当前方法的问题在于它花费的时间太长,因为我当前的表可能包含数百行。
是否可以filter(或其他方法)并在出现第一个有效事件时停止迭代?或者有人能想出更好的方法吗?
【问题讨论】:
-
但是你怎么知道是一个有效的行呢?只要点击它就可以看到没有错误?
-
是的,就我而言,我确实需要访问其中一个行页面,并且某些行会出现错误(因为它们各自的页面不存在或其他原因)。我只是想要一种方法来找到不会给我错误的行。
标签: node.js protractor