Protractor: Como obter a contagem do número de elemento div filho presente dentro de um elemento div raiz no Protractor

Criado em 25 fev. 2014  ·  3Comentários  ·  Fonte: angular/protractor

Estou testando um projeto de aplicativo da web usando o Protractor. Os poucos casos de teste que escrevi estão funcionando bem, mas estou tendo dificuldades quando tento contar o número de elementos div presentes dentro de um elemento div pai. A estrutura do meu div é fornecida abaixo

  <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>

E eu escrevi o caso de teste como este conforme fornecido abaixo, mas ele não está sendo executado, o erro é esperado indefinido como igual a 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);

    });

Obrigado
Utpal

Comentários muito úteis

E se os elementos subdiv não tiverem classes? Como podemos contar o número de elementos div filhos na seguinte situação?

<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>

Todos 3 comentários

Estou usando o transferidor mais recente, portanto, usando browser.driver vez de driver e este é o código que faz o que você precisa:

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);
        }
    );
});                

Muito obrigado. Isso resolve o problema.

E se os elementos subdiv não tiverem classes? Como podemos contar o número de elementos div filhos na seguinte situação?

<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>
Esta página foi útil?
0 / 5 - 0 avaliações