angularjsprotractorangular-ui-bootstrapgulp-protractor

selecting element in uib-dropdown menu


I Have a HTML code like this.

<div ng-if="!hide" class="dropdown pull-right" uib-dropdown>
    <a uib-dropdown-toggle href="" >
    <div class="btn btn-primary-outline btn-circle btn-xs pull-right comment-button"> 
        <span class="icon icon-chevron-down"></span>
    </div>
    </a>
    <ul class="dropdown-menu " style="text-align: center;" role="menu" uib-dropdown-menu>
        <li role="divider" ng-if="showDelete"><a href="" ng-click="deleteItem($index)">delete </a></li>
        <li role="divider"><a href="" ng-click="Report()"> report</a></li>
    </ul>
</div>

When using in protractor facing an issue with uib-dropdown selection. I written code like this:

var dropDown = element(by.css("div[uib-dropdown]"));
dropDown.element(by.css("a[uib-dropdown-toggle]"));
dropDown.element(by.css("a[ng-click=deleteItem($index)]")).click(); 
browser.sleep(5000);

Solution

  •  this.selectMenuOption = function (option) {  //menu item to click
        var dropdown = element(by.className('dropdown pull-right'));        
        dropdown.click();
        dropdown.element(by.tagName('ul')).all(by.tagName('li')).filter(function (elem) {
             return elem.getText().then(function (val) {
                 return val.toUpperCase() === option.toUpperCase();
          })
       }).first().click();
    }