0

データベースから渡されるリストのサブメニューがありました。毎回同じシーケンスになるわけではないリストを表示するために ng-repeat を使用しています。分度器を使用してテストするにはどうすればよいですか。現在、次のようにテストしています。

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

ただし、nth-child が 8 番目のリストにない場合、または「pizza」要素がリストにない場合は失敗します。リストにない要素のテストも書きたいと思います。ピザがデータベースから渡されていないと仮定すると、そのテストをスキップする必要があります。

ここでの私の質問は、このシナリオをテストするにはどうすればよいですか?ここにもIDがありませんか? テキストと一致する場合は要素をクリックし、その要素がサブメニューに見つからない場合はテストをスキップする方法はありますか?

4

1 に答える 1

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();
于 2016-09-16T20:53:47.520 に答える