我正在尝试与 Intern 2 进行集成测试,这意味着我需要导航网页或等待 ajax 来测试某些内容。这意味着等待元素出现,这是 Intern 1 支持的。
我在 leadfoot 中查看了 pollUntil ,这几乎达到了我想要的效果,但是对于我需要进行的每次点击都会导致一系列 .then
( example )。有更好的方法吗?
最佳答案
实习生 2 中的 Leadfoot 有一个名为 sleep()
的方法,它与实习生 1 中的 wait()
执行相同的操作。
Leadfoot 还提供了一个 setFindTimeout()
方法,该方法应该设置当 find()
未找到时实习生继续在页面上查找元素的时间。首先调用方法。
我最终创建了一个专门用于等待元素出现在页面上的函数。然后在 pollUntil() 内部使用它来显式等待元素在页面上出现或消失。
element_visible_by_query_selector: function(query) {
return function(query) {
elem = document.querySelector(query);
if (!elem) { return null; }
return (elem.offsetWidth > 0 && elem.offsetHeight > 0) ? elem : null;
}
},
.then(pollUntil(util.element_visible_by_query_selector(), ['<element>'], 22000))
关于javascript - 在 Intern 2 的功能测试中如何等待元素加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796171/