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