在我的应用程序中,我想使用它的名称 AND 所有者名称来选择特定通知。我怎样才能在量角器中做到这一点? 我添加了屏幕截图,我想选择Sonal Dalal""测试Auction1。从列表中。 第二个屏幕截图显示了Sonal Dalal"
的通知页面代码" Test Auction1我在spec文件中尝试过以下代码:
this.AuctionNotiNewInv = element(by.cssContainingText('.md-subheader-inner','NEW INVITATIONS'));
this.NotificationTitle = element.all(by.cssContainingText('.title.ng-binding',data.AuctionName));
this.NotifAuctioneer = element(by.cssContainingText('.subtitle.ng-binding',data.NewFirstName + ' ' + data.NewLastName));
PO文件如下:
{{1}}
但是上面的代码返回我count = 4,因为页面上有其他对象具有相同属性" NotificationTitle"但它不是通知列表的一部分。 任何人都可以建议我使用expect函数来处理这个问题吗?
答案 0 :(得分:3)
您可以使用filter()
方法根据条件过滤元素列表。请尝试以下定位器,
var expectedTitle= 'TestAuction1';
var expectedOwner = 'Sonal Dalal';
var notificationElement = element.all(by.repeater("notif in notifSubList")).filter(function(notification){
var title = notification.element(by.css("span.title")).getText();
var owner = notification.element(by.css("span.subtitle")).getText();
return protractor.promise.all([title,owner]).then(function(result){
return result[0].trim() == expectedTitle && result[1].trim() == expectedOwner;
})
}).first();