0

我正在寻找类似的东西:

assert.isFocused('input.myDefaultInput')

到目前为止,我能找到的唯一解决方法是

assert.exists('input.myDefaultInput:focus')

有没有更好的选择?

4

1 回答 1

2

当前的 DalekJS断言 API没有测试元素是否具有焦点的方法。

以下辅助方法使用execute函数来断言元素是否使用原生 JavaScript 获得焦点:

focused: function(test, selector, message) {
    return test
        .execute(function(selectorParam, messageParam){
            var expectedEl = window.document.querySelector(selectorParam);
            var activeEl = window.document.activeElement;
            this.assert.ok(expectedEl === activeEl, messageParam);
        }, selector, message);
}

我在这里的博客文章中写了更详细的文章:http: //hady.geek.nz/blog/dalek-element-has-focus/

于 2014-07-21T10:54:23.673 回答