如何点击量角器中的项目列表

时间:2015-07-23 07:20:14

标签: html angularjs protractor

HTML代码

<li class="active-result result-selected group-option" 
        data-option-array-index="72">Information Technology and Services</li>

在量角器中进行自动化测试时,无法单击特定列表项。使用xpath我可以单击列表项但不使用xpath我必须这样做。

请帮帮我。

谢谢,

Raghavendra

4 个答案:

答案 0 :(得分:0)

你的意思是ng-click?

    <li ng-click="click(72)" class="active-result result-selected group-option" 
data-option-array-index="72">Information Technology and Services</li>

在控制器中,使用

$scope.click = function(no) { console.info(no +" li clicked") }

答案 1 :(得分:0)

<input id="first-input" type="text"/>
   <ul>
    <li>1</li>
      <li>2</li>
    </ul>
<input id="second-input" type="text"/>
 <ul>
<li>1</li>
<li>2</li>
 </ul>
<input id="third-input" type="text"/>
  <ul>
    <li>1</li>
     <li>2</li>
 </ul>

元素(by.id(&#39;第二输入&#39))的元素。(by.xpath(&#39;以下同胞:: UL&#39;));

答案 2 :(得分:0)

您可以通过选择css而不是xpath来点击该项目。

element.all(by.css('.result-selected')).click();

当您的元素具有ng-click属性

<li ng-click="selected(72)" class="active-result result-selected group-option" 
    data-option-array-index="72">Information Technology and Services</li>

答案 3 :(得分:-1)

使用此方法将单击列表中的元素


  clickElementInList: function (list, item) {
        list.reduce((result, element) => {
            if (result) return result;
            return element.getText().then((text) => {
                if (text.toLowerCase().includes(item.toLowerCase())) return element;
            });
        }).then((element_found) => {
            if (!element_found) throw new Error(item + " not found");
            this.click(element_found);
        });
    },