2017-02-14 90 views
0

我使用Angular Material創建網站,並使用Cucumber腳本進行測試。黃瓜有可能專注於?黃瓜專注md-list-item

我試圖給一個ID,但似乎Cucumber找不到元素。

回答

0

我發現我們可以動態地爲自動生成的html標籤添加類名。

例如,您創建的列表如下圖所示:

<md-list flex> 
    <md-list-item class="md-3-line tobe-reviewed-kudo-item" ng-repeat="kudo in kudos | filter : {kudosStatus: 'Pending'} | limitTo : 3" ng-click="toReviewKudo(kudo.kudosId)"> 
     <img ng-src="img/avatar.png" class="md-avatar" alt="{{item.who}}" /> 
     <div class="md-list-item-text" layout="column"> 
      <h3>{{kudo.chEmployeeByKudosSenderId}} sent {{kudo.chEmployeeByKudosReceiverId}}</h3> 
      <p>{{kudo.createdOn}}</p> 
     </div> 
     <p>{{kudo.kudosStatus}}</p> 
     <md-divider></md-divider> 
    </md-list-item> 
</md-list> 

如果用黃瓜腳本集中MD-列表項,它不會工作,因爲角材料將動態生成可點擊按鈕。我們需要給這些按鈕類名稱讓黃瓜腳本專注於它們。因此,我們綁定數據後,我們就可以用打擊代碼給類名:

$scope.$watch("$viewContentLoaded", function() { 
var kudoItemsDOM = document.getElementsByClassName("tobe-reviewed-kudo-item"); 
var kudoItems = angular.element(kudoItemsDOM); 
for(var i = 0; i < kudoItems.length; i++) { 
angular.element(kudoItems[i].querySelector(".md-ink-ripple")).addClass("kudo-item-btn"); 
} 
}); 

然後,工藤項-BTN將被添加到HTML和黃瓜可以關注這些按鈕。