我正在使用 Protractor 为一个获得大量推送通知的应用程序创建自动化测试,问题是我尝试测试一个简单的逻辑
expect(A + B).toEqual(C);
问题是A、B、C取的时间不同,测试失败,有办法暂停浏览器以发送推送通知,执行测试,测试完成后继续。
或者还有其他我更乐意知道的方式吗?
element.all(by.css('#footer > span')).getTest().then(function(information){
expect(information[0] + information[1]).toEqual(information[2]);
});
最佳答案
我假设在做出预期时只有不到 3 个通知。如果是这种情况,您可以添加显式等待来等待 N 个元素出现:
function waitForNElementsToBePresent(n) {
return function () {
return element.all(by.css('#footer > span')).count().then(function (count) {
return count >= n;
});
}
}
browser.wait(waitForNElementsToBePresent(3), 5000);
element.all(by.css('#footer > span')).getText().then(function(information){
expect(information[0] + information[1]).toEqual(information[2]);
});
关于javascript - 在 Protractor 中,如何在准确的时间抓取多个值以用于具有大量推送通知的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348378/