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 & system. Skicka in din ansöka
</p>
<p> </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
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>
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?