为了账号安全,请及时绑定邮箱和手机立即绑定

如果页面上仍然存在加载程序,请重试等待

如果页面上仍然存在加载程序,请重试等待

喵喵时光机 2022-06-16 09:56:09
我正在使用在加载数据时间方面非常不稳定的应用程序。我已经将我的 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);            }        }    }}
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

下面的代码将重试,直到加载器元素可用,并且retryCount一旦元素不可见,就会重试。


function waitWithRetry(elementLocator, retryCount) {

    while (retryCount > 0) {

        try {

            $(`${elementLocator}`).waitForDisplayed();

        } catch (e) {

            if ($('.loader').isDisplayed() && retryCount === 1) {

               throw new Error(e);

            }

             retryCount--;

        }

    }

}


查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信