Protractor: Cómo obtener el recuento del número de elementos div hijo presentes dentro de un elemento div raíz en transportador

Creado en 25 feb. 2014  ·  3Comentarios  ·  Fuente: angular/protractor

Estoy probando un proyecto de aplicación web usando Transportador. Los pocos casos de prueba que he escrito funcionan bien, pero tengo dificultades cuando trato de contar la cantidad de elementos div presentes dentro de un elemento div principal. La estructura de mi div se muestra a continuación.

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

Y he escrito el caso de prueba como este como se indica a continuación, pero no se está ejecutando, se espera que el error indefinido sea 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);

    });

Gracias
Utpal

Comentario más útil

¿Qué pasa si los elementos sub div no tienen clases? ¿Cómo podemos contar el número de elementos div secundarios en la siguiente situación?

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

Estoy usando el último transportador, por lo que uso browser.driver lugar de driver y este es el código que hace lo que necesita:

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

Muchas gracias. Resuelve el problema.

¿Qué pasa si los elementos sub div no tienen clases? ¿Cómo podemos contar el número de elementos div secundarios en la siguiente situación?

<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>
¿Fue útil esta página
0 / 5 - 0 calificaciones