Protractor: Comment obtenir le nombre d'éléments div enfants présents dans un élément div racine dans Protractor

Créé le 25 févr. 2014  ·  3Commentaires  ·  Source: angular/protractor

Je teste un projet d'application Web à l'aide de Protractor . Les quelques cas de test que j'ai écrits fonctionnent bien, mais j'ai des difficultés à compter le nombre d'éléments div présents dans un élément div parent. La structure de mon div est donnée ci-dessous

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

Et j'ai écrit le scénario de test comme celui-ci comme indiqué ci-dessous, mais il ne s'exécute pas, l'erreur devrait être égale à 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);

    });

Merci
Utpal

Commentaire le plus utile

Et si les éléments sub div n'ont pas de classes ? Comment pouvons-nous compter le nombre d'éléments div enfants dans la situation suivante ?

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

Tous les 3 commentaires

J'utilise le dernier rapporteur, donc j'utilise browser.driver au lieu de driver et voici le code qui fait ce dont vous avez besoin :

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

Merci beaucoup. Cela résout le problème.

Et si les éléments sub div n'ont pas de classes ? Comment pouvons-nous compter le nombre d'éléments div enfants dans la situation suivante ?

<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>
Cette page vous a été utile?
0 / 5 - 0 notes