select 来自列表框的记录,使用 Protractor 中的文本

select a record from a list-box using text in Protractor

我想select 列表框中的记录使用文本。我如何使用过滤功能 select 特定记录。我会有很多选择,但我想 select 通过检查文本(例如西班牙语)得到我想要的值。我不想 select 按索引值,因为如果我这样做,我将无法验证测试,而且列表会更新。请帮助。在我的 html 代码下方。

 <ul class="addList">
    <li ng-repeat="skill in availableSkills" ng-click="addSkillFunc(skill, $index)" class="ng-binding ng-scope">Mandarin</li>
<li ng-repeat="skill in availableSkills" ng-click="addSkillFunc(skill, $index)" class="ng-binding ng-scope">English</li>
<li ng-repeat="skill in availableSkills" ng-click="addSkillFunc(skill, $index)" class="ng-binding ng-scope">Spanish</li>
</ul>

是的,我可以 select 按索引记录。但我想要像 selectbyvisibleText 这样的东西,它在 Selenium 中可用。

终于找到解决办法了。创建了一个函数 SelectRowByCellValue 并用于通过

在我想要的任何地方调用它
SelectRowByCellValue(AGP.SkillList, Data.SkillSelect); 

技能列表 = element.all(by.css('Ul.addList li')); SkillSelect = 您想要的值 select。 (西班牙语)

this.SelectRowByCellValue = function (Elem, Texts) {

 Elem.filter(function (element) {
 return element.getText().then(function (text) {
 if (text == Texts) {
 element.click();
 return false;
 }
   });
}).then(function (filteredElements) {

 });
};