首页 > 解决方案 > 如何使 Protractor 的 browser.wait() 更冗长?

问题描述

在量角器测试中,我调用了很多次browser.wait方法,例如等待特定元素出现在屏幕上或者它是可点击的。

在许多情况下,测试在我的本地机器上通过,但在其他机器上没有。我收到有关超时的非常通用的信息,这对我调试/查找问题来源没有多大帮助。

是否可以browser.wait更冗长,例如:

标签: protractorwait

解决方案


如果主要问题是您不知道等待超时的元素,我建议为等待编写一个辅助函数并使用它而不是等待,例如:

    wait = function(variable, variableName,waitingTime){
    console.log('Waiting for ' + variableName);
    browser.wait(protractor.ExpectedConditions.elementToBeClickable(variablename),waitingTime);
    console.log('Success');
}

因为量角器在第一次失败后停止执行测试,如果等待超时,控制台将不会在加载某个元素失败后打印成功消息。

对于我建议尝试的屏幕截图protractor-jasmine2-screenshot-reporter,它会生成一个易于阅读的 html 报告,其中包含有关失败测试的屏幕截图和调试信息(例如,发生故障的代码行)。


推荐阅读