我正在使用在加载数据时间方面非常不稳定的应用程序。我已经将我的 waitFor 超时设置为 15 秒,我不想再增加它了。我的测试是在 CI 中运行的,而且我经常不得不重新运行所有的东西,因为 ONE 元素没有及时加载。
此外,我不想使用某些bail技术或重试整个测试。
我的想法是等待元素,如果.loader页面上仍然存在带有定位器的元素,我想重试等待。
所以我正在寻找实现这一点的最佳方法(也许是承诺?)
function waitWithRetry(elementLocator, retryCount) {
while (retryCount > 0) {
try {
$(`${elementLocator}`).waitForDisplayed();
} catch (e) {
if ($('.loader').isDisplayed()) {
retryCount--;
} else {
throw new Error(e);
}
}
}
}
沧海一幻觉
相关分类