使用量角器中的文本从列表框中选择记录

时间:2016-01-29 13:23:06

标签: automation protractor angularjs-e2e

我想使用文本从列表框中选择记录。如何使用过滤功能选择特定记录。我将有很多选择,但我想通过检查文本(例如西班牙语)来选择我想要的值。我不想通过索引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。

1 个答案:

答案 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) {

 });
};