2016-09-16 87 views
0

我有一个从数据库传递列表的子菜单。我使用ng-repeat来显示每次不会以相同顺序排列的列表。我怎样才能用量角器测试它,我现在正在测试为:如何点击列表中的动态ng-repeat元素使用量角器?

element(by.cssContainingText('.menu li:nth-child(8)',Pizza')).click(); 

但是,当第n个孩子是不是在8列表,或者如果它失败“比萨”元素不会在发现名单。我想为不在列表中的元素编写测试,假设比萨没有从数据库传入,它应该跳过该测试。

我的问题在这里是我如何测试这种情况下我没有任何id在这里呢?有没有什么办法,我可以点击元素,如果它匹配文本,并跳过测试,如果该元素没有在子菜单中找到?

回答

1

这可能是类似的东西:

var foundElement = element.all(by.repeater('data in collection')).filter(function(data) { 
    return data.getText().then(function(text) { 
      return text === 'Pizza'; 
    }); 
    }); 
foundElement(0).element(by.css('.menu li')).click(); 
+0

的'foundElement(0)'也许应该是'foundElement.first()'。 – alecxe

+0

谢谢@zakaria。如果返回文本不是比萨,我怎么能跳过测试? – rUI7999

相关问题