2017-08-08 70 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「)定位 –