Protractor: So erhalten Sie die Anzahl der untergeordneten div-Elemente, die in einem Wurzel-div-Element in Protractor vorhanden sind

Erstellt am 25. Feb. 2014  ·  3Kommentare  ·  Quelle: angular/protractor

Ich teste ein Webanwendungsprojekt mit Protractor. Die wenigen Testfälle, die ich geschrieben habe, laufen gut, aber ich bekomme Schwierigkeiten, wenn ich versuche, die Anzahl der div-Elemente in einem übergeordneten div-Element zu zählen. Die Struktur meines div ist unten angegeben

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

Und ich habe den Testfall wie folgt geschrieben, aber er wird nicht ausgeführt, der Fehler wird voraussichtlich undefiniert gleich 21 sein.

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

    });

Danke
Utpal

Hilfreichster Kommentar

Was ist, wenn die Sub-Div-Elemente keine Klassen haben? Wie können wir die Anzahl der untergeordneten div-Elemente in der folgenden Situation zählen?

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

Alle 3 Kommentare

Ich verwende den neuesten Winkelmesser, also verwende browser.driver anstelle von driver und dies ist der Code, der das tut, was Sie brauchen:

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

Vielen Dank. Es löst das Problem.

Was ist, wenn die Sub-Div-Elemente keine Klassen haben? Wie können wir die Anzahl der untergeordneten div-Elemente in der folgenden Situation zählen?

<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>
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen