Подтвердить что ты не робот

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

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

  <div class="page-kontact-main">
  <div class="buttons contact_page">
    <a href="#" onclick="location.href='http://mysite.se/om-oss/'; return false;" class="btn btn-default button">Om oss</a>
    <a href="#" onclick="location.href='http://mysite.se/offert-3/'; return false;" class="btn btn-default button">Offert</a>
    <a href="#" onclick="location.href='http://mysite.se/tjanster/'; return false;" class="btn btn-default button">Våra Tjänster</a>
  </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://mysite.se/kontakt/");
        var element = driver.findElement(protractor.By.css('.clearfix .col206'));
        expect(element.length).toEqual(21);

    });

Спасибо Utpal

4b9b3361

Ответ 1

Вы должны использовать element.all и count() вместо длина:

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

Ответ 2

$ и $$ эквивалентны element.all и by.css, поэтому вы можете использовать следующий код

it('Getting the count of contact names ', function() {
    driver.get("http://mysite.se/kontakt/");
    var elements = $$('.clearfix .col206'));
    expect(elements.count()).toEqual(21);
});