量angular器:同一页面上的两个下拉菜单,只能从一个下拉菜单中成功select元素

我正在使用量angular器来运行自动脚本,在其中一个页面上有两个下拉菜单,它们位于下方/上方。 他们两个似乎是相同的,只是他们有不同的ng模型名等。我可以成功地从下拉菜单中select一个元素,但是我不能为另一个。 这是为什么一个工程,而另一个没有破坏我的头。 这里是下拉菜单的代码,我可以select一个元素

<select class="form-control ng-pristine ng-invalid ng-invalid-required" ng-model="user.sourceOfFunds" required="" ng-class="{submitted:invalid}"> <option value="">Select</option> <option value="Savings">Deposit</option> <option value="Inherited">Current</option> <option value="Other">Savings</option> </select> 

 element(by.model('user.sourceOfFunds')).sendKeys('Savings'); 

我的其他下拉菜单如下:

 <select class="form-control ng-pristine ng-invalid ng-invalid-required" ng-model="user.investFigure" required="" ng-class="{submitted:invalid}"> <option value="">Select</option> <option value="<20">Less than 20K</option> <option value="20-50">20K-50K</option> <option value="50-100">50K-100K</option> </select> 

 element(by.model('user.investFigure')).sendKeys('Less than 20K'); or element(by.model('user.investFigure')).sendKeys('20'); 

当我尝试从第二个下拉菜单中select一个项目时,我得到“元素未find”。 为什么会发生这种情况,我有点不知所措

使用sendKeysselect一个下拉选项对我来说似乎很奇怪,即使它工作。 鉴于@ alecxe的好build议,也许问题是可见性,但尝试另一种方式,看看sendKeys是否是你的问题。

我在每天使用多个select的testing中使用这个代码没有问题。 也许它会为你工作…

 var selectOptionByText = function(text) { return element(by.cssContainingText('option', text)).click(); }; 

这样打电话…

 selectOptionByText('Less than 20'); selectOptionByText('20');