2

さまざまな情報を取得するページで4 つ使用<select>します。ng-optionsデータ バインディング、名前、ID が異なることを除いて、それらはすべて次のようになります。

<div class="col-sm-3">
   <label class="control-label" for="lawyer">Lawyer</label>
   <select class="form-control" id="lawyer" name="lawyer" ng-model="model.lawyerUuid" required
      ng-options="lawyer.uuid as lawyer.name for lawyer in model.lawyers">
   </select>
</div>

これを分度器でテストして、返される弁護士が x (たとえば 2) 人だけであることを確認するにはどうすればよいですか?

私は を使用しているためng-options、検索ng-repeatは機能しません。次のように検索すると、<selects>上記の 1 つだけでなく、ページ内の 4 つすべてが取得されます (したがって、それらすべてが 2 つの要素を返す場合count()、8 になります)。

element.all(by.css('select option'))

指定された ID を持つ親を持つすべての要素を取得する方法はありますか?

4

2 に答える 2

1
driver.findElements(protractor.By.css('#lawyer > option')).then(function (lawyers) {
    expect(lawyers.length).toBe(2);
});

これは、繰り返し検索するのと似ていますが、それでも機能する可能性があります

于 2014-05-14T10:21:58.600 に答える
0

だから私はxpathをいじってこの解決策を見つけました:

expect(element.all(by.xpath('//*[@id="lawyer"]/child::node()')).count()).toBe(2);

素敵なものはありますか?

于 2014-05-13T06:48:38.603 に答える