我想使用文本从列表框中选择记录。如何使用过滤功能选择特定记录。我将有很多选择,但我想通过检查文本(例如西班牙语)来选择我想要的值。我不想通过索引becoz选择值,如果我这样做,我将无法验证测试,此外列表得到更新。善意的帮助。低于我的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>
是的,我可以按索引选择记录。但我想要一些像Selenium中可用的selectbyvisibleText。
答案 0 :(得分:1)
终于得到了解决方案。创建了一个函数SelectRowByCellValue并用于通过
在任何地方调用它SelectRowByCellValue(AGP.SkillList, Data.SkillSelect);
SkillList = element.all(by.css('Ul.addList li')); SkillSelect =您想要选择的值。 (西班牙语)
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) {
});
};