实习功能测试 - 迭代项目集

时间:2014-12-22 19:39:14

标签: selenium selenium-webdriver intern

这似乎微不足道,但我试图在实习生中设置一个功能测试来检查我的页面中一组span元素的内部文本都使用相同的CSS类,但我不能似乎能够隔离跨度内的文本。这是我的代码:

        'Span check': function () {
            return this.remote
                .findAllByClassName('mySpanClass')
                .then(function (elems) {                    
                    assert.strictEqual(elems[0].innerHTML(),'Span Text');
                 })
        }

我已经运行了单独的测试来验证是否找到了跨度... findAllByClassName函数返回一个包含两个对象的数组。

有人做过这样的事吗?

1 个答案:

答案 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']);
     });