量角器 - 等待中继器元素
Protractor - wait for repeater elements
我正在使用 Protractor 进行端到端测试。目前我使用了很多工作流超时。我想用 browser.wait
替换它。问题是我并不总是知道要等待什么。例如切换到其他框架时。
这个具体问题是等待转发器元素显示。
这是我当前的代码:
flow.timeout(5000);
element.all(by.repeater('whatsNewItem in homePageWhatsNewItems')).count().then(function (firstCount) {
console.log("number of WhatsNew=" + firstCount);
expect(firstCount >= 5).toBeTruthy();
});
我想替换 browser.wait(.....)
中的 flow.timeout
有什么想法吗?
如果您知道要等待的元素,那么使用量角器 ExpectedConditions
来等待元素出现在页面上很容易。方法如下 -
var EC = protractor.ExpectedConditions;
var repeaterElement = element(by.repeater('whatsNewItem in homePageWhatsNewItems'));
//Wait up to 10 seconds for elements to be visible
browser.wait(EC.visibilityOf(repeaterElement), 10000)
.then(function(){
//Perform any operation that you want after waiting for the element to appear
});
如果您完全不知道要等待哪个元素,请始终检查最后加载的元素并等待该元素出现。通过这种方式,可以避免错误。希望对你有帮助。
我正在使用 Protractor 进行端到端测试。目前我使用了很多工作流超时。我想用 browser.wait
替换它。问题是我并不总是知道要等待什么。例如切换到其他框架时。
这个具体问题是等待转发器元素显示。
这是我当前的代码:
flow.timeout(5000);
element.all(by.repeater('whatsNewItem in homePageWhatsNewItems')).count().then(function (firstCount) {
console.log("number of WhatsNew=" + firstCount);
expect(firstCount >= 5).toBeTruthy();
});
我想替换 browser.wait(.....)
中的 flow.timeout
有什么想法吗?
如果您知道要等待的元素,那么使用量角器 ExpectedConditions
来等待元素出现在页面上很容易。方法如下 -
var EC = protractor.ExpectedConditions;
var repeaterElement = element(by.repeater('whatsNewItem in homePageWhatsNewItems'));
//Wait up to 10 seconds for elements to be visible
browser.wait(EC.visibilityOf(repeaterElement), 10000)
.then(function(){
//Perform any operation that you want after waiting for the element to appear
});
如果您完全不知道要等待哪个元素,请始终检查最后加载的元素并等待该元素出现。通过这种方式,可以避免错误。希望对你有帮助。