使用量子器从ng标签中检索文本,使用ng repeat和class属性给出空/未定义元素

时间:2017-08-16 17:48:01

标签: angularjs testing protractor

我的角度页面源代码如下所示。

<ul>
<li class = classname1>
	<a ui-sref="name1()" href="/_">Name1</a>==$0
	</li>
<li class = classname1>
	<a>Name2</a>
	<div class="classname2">
	 <!--ng-repeat: dropDown in belownames.getDropdownList('Name2')-->
	 <a ng-repeat="dropDown in belownames.getDropdownList('Name2')" ui-sref="Name3Data()"
	 class="ng-binding ng-scope" href="Name3Data">Name3</a>
	 <!--end ngrepeat: dropDown in n belownames.getDropdownList('Name2')-->
	 <a ng-repeat="dropDown in belownames.getDropdownList('Name2')" ui-sref="Name4Data()"
	 class="ng-binding ng-scope" href="Name4Data">Name4</a>
	 <!--end ngrepeat: dropDown in n belownames.getDropdownList('Name2')-->
	 <a ng-repeat="dropDown in belownames.getDropdownList('Name2')" ui-sref="Name5Data()"
	 class="ng-binding ng-scope" href="Name5Data">Name5</a>
	 <!--end ngrepeat: dropDown in n belownames.getDropdownList('Name2')-->
	 </div>
	</li> 
<li class = classname1></li>
<li class = classname1></li>
</ul>>

我想在每个标签下提取元素/链接,即

1.Name3
2.Name4
3.Name5

然后点击这些链接,在那里插入一些数据。

我尝试在我的块中使用以下测试

    element.all(by.repeater("dropDown in belownames.getDropdownList('Name2')")).getText().then(function(value)
{
    console.log(value);
}) 

但是我将输出作为空值数组

[ '', '', '' ]

我该如何解决这个问题?任何帮助,将不胜感激。

感谢。 MNC

1 个答案:

答案 0 :(得分:0)

请你这样试试。提取每个元素的文本

    element.all(by.repeater("dropDown in belownames.getDropdownList('Name2')")).then(function(elements)
{

elements.forEach(function(element){
element.getText().then(function(text){
console.log(text);
});
});
})