可以对elementsByXYZ返回的元素做什么?

时间:2013-10-22 13:33:15

标签: intern

这个问题是关于与实习生一起写的功能测试。

elementsByXYZ方法返回一个元素数组。我注意到我能够在这些返回的元素上调用click()方法,但是我不能调用方法getAttribute(attributeName)。

可以在elementsByXYZ方法返回的元素上调用的方法列表是什么?

这是一段代码片段,展示了我正在努力实现的目标:

        return this.remote
            .get(require.toUrl("./testpage.html"))
            .waitForCondition('ready', 5000)
            .elementById('widget1')
            .elementsByTagName('div')
            .then(function(children){
                    assert.equal(7, children.length, 'The expected number of children is wrong');
                    for(var i=0; i < 7; i++){
                        console.log(children[i].getAttribute('className'));
                        children[i].click();
                    }
            });

控制台显示children [i] .getAttribute('className')返回undefined,而我可以看到每个孩子都正确执行了点击。

1 个答案:

答案 0 :(得分:0)

你不需要使用类似的东西:

elem.getAttribute('class', function (err, text) {
    console.log(text);
)};

使用wd.js时?例如https://github.com/admc/wd/blob/master/doc/jsonwire-mapping.md

getAttribute(element, attrName, cb) -> cb(err, value)

这适合我。