Angularjs 如何在量角器中查找ng repeat中的元素

Angularjs 如何在量角器中查找ng repeat中的元素,angularjs,protractor,Angularjs,Protractor,我有以下html: <li ng-repeat="item in items"> Some Test <span class="bubble-grey"> {{ item }} </span> </li> 但是我得到了“TypeError:Object[Object Object]没有方法‘findElement’”使用repeat中的$index为span指定一个id属性,然后您可以直接跳转到它们 <

我有以下html:

<li ng-repeat="item in items">
    Some Test
    <span class="bubble-grey">
        {{ item }}
    </span>
</li>

但是我得到了“TypeError:Object[Object Object]没有方法‘findElement’”

使用repeat中的$index为span指定一个id属性,然后您可以直接跳转到它们

<span class="bubble-grey" id="item_{{$index}}">
    {{ item }}
</span>

{{item}}
查看,而不是:

.findElement(by.css(".bubble-grey"));
你想要:

.element(by.css(".bubble-grey"));

您不需要再次“查找”元素。 尝试使用元素浏览器

打开元素浏览器并导航到所需页面:

cd \node_modules\protractor\bin
node ./elementexplorer.js <your url>
我认为它不会显示任何文本,因为html中没有文本

如果要获取“某些测试”文本,请尝试:

element(by.repeater('item in items')).getText()

是的,这是一种可能性,但在(生产)代码中添加一些仅用于测试的内容是否明智?您可能会争辩说,它从可访问性方面(例如屏幕阅读器等)改进了您的代码。不幸的是,我不太了解量角器的侧面,所以在测试中无法修正,我只知道物体的角度。
element.all(by.repeater('item in items')).get(0).getText()
element(by.repeater('item in items')).getText()