这似乎微不足道,但我试图在实习生中设置一个功能测试来检查我的页面中一组span元素的内部文本都使用相同的CSS类,但我不能似乎能够隔离跨度内的文本。这是我的代码:
'Span check': function () {
return this.remote
.findAllByClassName('mySpanClass')
.then(function (elems) {
assert.strictEqual(elems[0].innerHTML(),'Span Text');
})
}
我已经运行了单独的测试来验证是否找到了跨度... findAllByClassName函数返回一个包含两个对象的数组。
有人做过这样的事吗?
答案 0 :(得分:0)
您需要使用getVisibleText()
代替:
获取元素中的可见文本。元素被转换 返回文本中的换行符,并按空格式化空格 通常的XML / HTML空白规范化规则。
return this.remote
.findByCssSelector('.mySpanClass')
.getVisibleText()
.then(function (text) {
assert.strictEqual(text, 'Span Text');
});
这适用于单个元素。
如果要查看每个范围的文本,请使用:
return this.remote
.findAllByCssSelector('.mySpanClass')
.getVisibleText()
.then(function (texts) {
assert.strictEqual(texts, ['Span1 Text', 'Span2 Text']);
});