2017-08-08 69 views
0

在下表,我想点击第一封电子邮件或第一Twitter发布我已经通过我的测试脚本使用量角器接收。NG-如果里面NG-重复在量角器测试:不能在元素基础上点击NG-如果

我可以遍历到行使用NG-重复,但如何使用NG-如果识别/区分叽叽喳喳/电子邮件的元素,然后点击第一个元素。请帮忙。

enter image description here

<tr class="ng-scope" ng-class="{selected: message.channel_message_ID === selectedMessageID}" style="cursor: pointer;" pagination-id="messageList" ng-click="showMessageDetails(message);setSelectedMessageId(message.channel_message_ID,message.message_status);" ng-repeat="message in messageList | filter: message_status |filter: search | orderBy: '-date_time' | itemsPerPage: pageSize : ''"> 
 
<td class="center" data-title="Status"> 
 
</td> 
 
<td class="center" data-title="Source"> 
 
<!-- ngIf: message.channel == 'Twitter' --> 
 
<!-- ngIf: message.channel == 'facebook' --> 
 
<!-- ngIf: message.channel == 'Email' --> 
 
<div class="ng-scope" ng-if="message.channel == 'Email'"> 
 
</div> 
 
</td> 
 
<td class="center" data-title="Source"> 
 
<td data-title="Sender"> 
 
<td data-title="Receiver"> 
 
</tr> 
 

 
<tr class="ng-scope" ng-class="{selected: message.channel_message_ID === selectedMessageID}" style="cursor: pointer;" pagination-id="messageList" ng-click="showMessageDetails(message);setSelectedMessageId(message.channel_message_ID,message.message_status);" ng-repeat="message in messageList | filter: message_status |filter: search | orderBy: '-date_time' | itemsPerPage: pageSize : ''"> 
 
<td class="center" data-title="Status"> 
 
<td class="center" data-title="Source"> 
 
<!-- ngIf: message.channel == 'Twitter' --> 
 
<div class="ng-scope" ng-if="message.channel == 'Twitter'"> 
 
<div> 
 
<span class="fa fa-twitter icondColor"/> 
 
</div> 
 
</div> 
 
</td> 
 
<td data-title="Sender"> 
 
<td data-title="Receiver"> 
 
</tr>

请帮我点击确定第一个email元素或第一Twitter的元素。(动态元素)

回答

0

您可以通过应用的getAttribute做()上每个元素。您可以使用以下代码:

element.all(by.repeater()).each(function(ele){ 
     ele.getAttribute('ng-if').then(function(eAttrValue){ 
     console.log("ele attribute value is: "+eAttrValue); 
     if(eAttrValue.indexOf("Email")>=-1){ 
       ele.click();//click if ele is Email only 
      } 
     }); 
}); 
+0

其返回null ..可能是因为它里面的表。

user976239

+0

其内部行和列标题资料来源,如何去具体的TD行,然后得到的元素NG如果基于对列?plz帮助 – user976239

+0

使用by.xpath(” .// TR [@ NG重复=‘----’]/TD/DIV“)定位 –