你如何等待元素在Intern 2的功能测试中加载?

时间:2014-09-11 20:15:44

标签: javascript functional-testing intern

我正在尝试与Intern 2进行集成测试,这意味着我需要浏览网页或等待ajax来测试某些事情。这意味着等待元素出现,实习生1支持。

我查看了leadfoot中的pollUntil,它几乎可以满足我的需要,但是对于我需要进行的每次点击都会产生一串.thenexample)。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:2)

Intern 2中的Leadfoot有一个名为sleep()的方法与Intern 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))

答案 1 :(得分:0)

findBy *等待的时间由设置的查找超时值控制 - https://theintern.github.io/leadfoot/Command.html#setFindTimeout