在我的守夜人顶级测试中,我使用了selenium"元素"调用记录匹配某个类的DOM元素集,然后使用nightwatch perform()回调解析该列表,以使用elementIdElement标识那些也与另一个类匹配的元素。例如
module.exports = {
function(client)
{
var elems = []
client.elements('class name','autoselect', function(elements)
{ if (elements.status == 0)
elems = elements.value
else
exit(-1)
})
var witness = []
client.perform(function(client,done)
{ for (var elem in elems)
{ var element = elems[elem].ELEMENT
client.elementIdElement(element,'class name', 'witness',
function(result)
{ witness.push(result.status != -1)
})
}
done()
})
client.pause(2000)
client.end()
}
}
我发现的是elementIdElement回调正在缓慢执行,每个回复大约1秒。所有其他selenium回调都会快速执行,例如elementIdAttribute,因此我想知道这是否是正常的性能行为,或者是否有某种方法可以提高性能。