首页 > 解决方案 > 量角器:为所有 browser.wait 调用设置超时

问题描述

browser.wait(..) 似乎无限期地等待,如果未指定可选的超时参数。我想为所有此类调用指定一个默认值。有没有办法做到这一点?

标签: angularprotractorwebdrivertimeout

解决方案


更正:默认设置为隐式等待0,但它们没有设置browser.wait函数的超时时间。对于那些,请尝试以下我的建议:

我只是简单地为我的套件制作了一个帮助文件:

const EC = protractor.ExpectedConditions;
const timeOut = 5000;

const helpers = {
    waitForClickable: (element) => browser.wait(EC.elementToBeClickable(element), timeOut),
    waitForPresence: (element) => browser.wait(EC.presenceOf(element), timeOut),
    waitForVisible: (element) => browser.wait(EC.visibilityOf(element), timeOut),
    waitForInvisible: (element) => browser.wait(EC.invisibilityOf(element), timeOut),
    waitForUrl: (text) => browser.wait(EC.urlIs(text), timeOut)
};
module.exports = helpers;

像这样使用它们:

it('should wait for element', async () => {
    await helpers.waitForClickable(youElement);
});

推荐阅读