Cucumber 焦点 md-list-item
Cucumber focus md-list-item
我正在使用 Angular Material 创建一个网站,并使用 Cucumber 脚本进行测试。黄瓜有可能专注于吗?
我试着给了一个id,但是Cucumber好像找不到这个元素。
我发现我们可以将 class 名称动态添加到自动生成的 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>
如果您使用 Cucumber 脚本来聚焦 md-list-item,它将不起作用,因为 Angular Material 将动态生成可点击按钮。我们需要给这些按钮 class 命名,让 Cucumber 脚本关注它们。因此,我们绑定数据后,我们可以使用blow代码给class name:
$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");
}
});
然后,kudo-item-btn会被添加到html,黄瓜可以聚焦这些按钮。
我正在使用 Angular Material 创建一个网站,并使用 Cucumber 脚本进行测试。黄瓜有可能专注于吗?
我试着给了一个id,但是Cucumber好像找不到这个元素。
我发现我们可以将 class 名称动态添加到自动生成的 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>
如果您使用 Cucumber 脚本来聚焦 md-list-item,它将不起作用,因为 Angular Material 将动态生成可点击按钮。我们需要给这些按钮 class 命名,让 Cucumber 脚本关注它们。因此,我们绑定数据后,我们可以使用blow代码给class name:
$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");
}
});
然后,kudo-item-btn会被添加到html,黄瓜可以聚焦这些按钮。