等待时找不到元素。需要知道那个元素是什么

时间:2017-02-24 14:33:58

标签: javascript protractor automated-tests

我正在使用量角器来测试我们的一个非角度应用程序。由于同步问题,我在做断言之前首先等待元素。我的等待代码是这样的:

var EC = protractor.ExpectedConditions;
elm = element(by.css(WebElements.locators.proDashboard.menuLogout));
browser.wait(EC.presenceOf(elm), 30000);

但是,当测试没有看到该元素时,它会给我这个错误:     错误:超时 - 在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时时间内未调用异步回调。

OR

Failed: Wait timed out after 10002ms

我开始遇到问题,因为我的测试用例正在增长,我正在使用页面对象。有很长的测试用例,检查每个元素变得非常耗时。

有什么方法可以看出超时元素是什么?

P.S。:我尝试使用winston的记录器,但它一次显示所有日志。

1 个答案:

答案 0 :(得分:1)

看起来您将jasmine.DEFAULT_TIMEOUT_INTERVAL变量配置为每次测试只等待10002ms。您可以在conf文件中更改它:

jasmineNodeOpts: {
    defaultTimeoutInterval: 100000
}

您还可以使用以下命令指定每it次测试的超时时间:

it("test that waits for 100000ms", function () {
    ...
}, 100000);