0

这个问题是关于用实习生编写的功能测试。

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

可以对 aa 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') 返回未定义,而我可以看到每个孩子都正确执行了点击。

4

1 回答 1

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)

这对我行得通。

于 2013-11-05T23:57:06.860 回答