M M
M M

Reputation: 99

How to locate multiple text element within class in Protractor?

For on my test i need to verify highlighted text (Lexington, KY) using my protractor test.

<li id="address" class="list">
<div class="content">
<small class="mb-1">
<span>
Suite # 278
<br>
</span>
**Lexington, KY**
</small>
</li>

How to verify highlighted text using css OR cssContainingText locator?

Upvotes: 1

Views: 1044

Answers (2)

jdgower
jdgower

Reputation: 1182

For one I am confused because it seems like you are never closing the content div...is it closed after the li is closed?

Anyway...I would simply change the HTML so that you don't need some crazy convoluted mess of a selector. I would do it like this:

<li id="address" class="list">
  <div class="content">
    <small class="mb-1">
      <span>
        Suite # 278
        <br>
      </span>
      <cityState>Lexington, KY</cityState>
    </small>
</li>

function checkCityState(){
  return element(by.tagName('cityState')).getText();
}

expect(checkCityState()).toBe('Lexington, KY');

Upvotes: 0

AdityaReddy
AdityaReddy

Reputation: 3645

Actually Protractor creators have put great documentation in place , and pls read it thoroughly to gain good knowledge on usage of css & cssContainingText. I will answer your question in short here - Use element(by.cssContainingText('.content','Lexington'))

UPDATE 1: In case you want to add an assertion .. do this - expect(element(by.cssContainingText('.content','Lexington'))).toContain('Lexington, KY')

Upvotes: 1

Related Questions