如何在量角器测试中等待DOM加载

时间:2014-10-17 02:15:28

标签: angularjs protractor

我在浏览器中通过“browser.get(url)”点击了网址,然后我希望屏幕上出现一些内容。但是我的测试用例失败了,因为加载页面需要一些时间,并且在页面加载之前执行测试用例。那么我有没有办法等待DOM加载,然后执行其余的测试用例。我不想放入睡眠,因为加载页面的时间不一致,并且执行测试是不必要的延迟。

我正在寻找一些解决方案,我们可以等待DOM加载,然后我们进入下一个测试来执行。

2 个答案:

答案 0 :(得分:0)

我通过等待屏幕上出现一些特定元素然后执行下一个活动来解决这个问题:这是代码,我是如何等待元素的:

browser.wait(function(){
    return browser.driver.isElementPresent(by.id(elementId));
},30000);

因此,如果你怀疑在屏幕上元素出现之前可以执行,那么只需等待一些元素出现在屏幕上然后执行下一个活动。

希望这将有助于其他人,他们将面临同样的问题。

答案 1 :(得分:-1)

您可以在配置中为脚本设置超时

jasmineNodeOpts: {defaultTimeoutInterval: 70000}

这将等待AT MAX指定的时间。