这个问题是关于与实习生一起写的功能测试。
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,而我可以看到每个孩子都正确执行了点击。
答案 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)
这适合我。