Я тестирую проект веб-приложения с помощью Protractor. Несколько тестовых примеров, которые я написал, работают нормально, но у меня возникают трудности, когда я пытаюсь подсчитать количество элементов div, присутствующих внутри родительского элемента div. Структура моего 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 & 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>
И я написал подобный тестовый пример, как показано ниже, но он не выполняется; ожидается, что undefined будет равно 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);
});
Спасибо
Утпал
Я использую последний транспортир, поэтому использую browser.driver
вместо driver
и это код, который делает то, что вам нужно:
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);
}
);
});
Большое спасибо. Это решает проблему.
Что делать, если элементы sub div не имеют классов? Как мы можем подсчитать количество дочерних элементов div в следующей ситуации?
<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>
Самый полезный комментарий
Что делать, если элементы sub div не имеют классов? Как мы можем подсчитать количество дочерних элементов div в следующей ситуации?