2

我在我的页面中使用了四个<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, find byng-repeat将不起作用,如果我使用以下搜索,我将<selects>在我的页面中获得所有四个,而不仅仅是上面的一个(所以如果它们都返回 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 回答