Protractor: Как получить количество дочерних элементов div, присутствующих внутри корневого элемента div, в Protractor

Созданный на 25 февр. 2014  ·  3Комментарии  ·  Источник: angular/protractor

Я тестирую проект веб-приложения с помощью Protractor. Несколько тестовых примеров, которые я написал, работают нормально, но у меня возникают трудности, когда я пытаюсь подсчитать количество элементов div, присутствующих внутри родительского элемента div. Структура моего div приведена ниже

  <div class="row kontact-title">
    <h2>Våra medarbetare</h2>
    <p>
      Test desc <span class="s47jd228h2" id="s47jd228h2_5">med</span> passion och engagemang för it &amp; system.  &nbsp;Skicka in din ansöka
    </p>
    <p>&nbsp;</p>
  </div>

  <div class="row clearfix">
    <div class="col206"></div>
    <div class="col206"></div>
    <div class="col206"></div>
    <div class="col206"></div>
    <div class="col206"> </div>
    <div class="col206"></div>
    <div class="col206"></div>
    <div class="col206"> </div>
  </div>
</div>

И я написал подобный тестовый пример, как показано ниже, но он не выполняется; ожидается, что undefined будет равно 21.

it('Getting the count of contact names ', function() {
        driver.get("http://likipe.se/kontakt/");
        var element = driver.findElement(protractor.By.css('.clearfix .col206'));
        expect(element.length).toEqual(21);

    });

Спасибо
Утпал

Самый полезный комментарий

Что делать, если элементы sub div не имеют классов? Как мы можем подсчитать количество дочерних элементов div в следующей ситуации?

<div class="row clearfix">
    <div data-selectable>1</div>
    <div data-selectable>2</div>
    <div data-selectable>3</div>
    <div data-selectable>4</div>
    <div data-selectable>5</div>
    <div data-selectable>6</div>
</div>

Все 3 Комментарий

Я использую последний транспортир, поэтому использую browser.driver вместо driver и это код, который делает то, что вам нужно:

it('should get correct count of contact names', function() {
    browser.driver.get("http://likipe.se/kontakt/");
    browser.driver.findElements(by.css('.clearfix .col206')).
        then(function(elems) {
            expect(elems.length).toEqual(21);
        }
    );
});                

Большое спасибо. Это решает проблему.

Что делать, если элементы sub div не имеют классов? Как мы можем подсчитать количество дочерних элементов div в следующей ситуации?

<div class="row clearfix">
    <div data-selectable>1</div>
    <div data-selectable>2</div>
    <div data-selectable>3</div>
    <div data-selectable>4</div>
    <div data-selectable>5</div>
    <div data-selectable>6</div>
</div>
Была ли эта страница полезной?
0 / 5 - 0 рейтинги