Search code examples
angularjstestingwarningsprotractorend-to-end

"More than one element found for locator" warning


In one of my tests, I'm locating an element using a CSS selector:

element(by.css("ul.nav button"))

There is more than one element matching the query, but, since I need only the first one, I'm okay with the selector.

The problem is, protractor throws a warning:

WARNING - more than one element found for locator By.cssSelector("ul.nav button") - the first result will be used

Is it possible to suppress the warning? In other words, how can I let protractor know that I'm aware of the problem and don't want the warning to be shown anymore?


Using protractor development version (installed directly from the master branch).


Solution

  • Try this instead:

    element.all(by.css("ul.nav button")).first()
    

    Basically, this tells Protractor that you already know there's more than one element, and you just want the first one (like you said in your question).