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

标签 javascript functional-testing intern

我正在尝试与 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/

相关文章:

javascript - ajax成功后如何将变量从JS代码传递到HTML页面?

javascript - 我如何解构一个包含其他对象的javascript对象

unit-testing - 如何在Testcomplete中同时记录Script和keywordTest?

ruby-on-rails - 在 Ruby on Rails 上,如何在另一个功能测试中断时运行一个功能测试?

javascript - 运行 react-scripts start 后如何停止?

javascript - 单击按钮时的 AJAX JSON 数据填充 - 数组问题

ruby - 在 rails 3.0.1 中测试自定义路由不起作用,还是我?

javascript - InternJs,如何在命令行上设置基本路径?

javascript - Intern 真的可以在任何 Selenium 服务上运行吗?

javascript - 如何使用 Intern JS 要求模块来测试 NodeJS?