2017-10-20 19 views
3

Je commence à apprendre Cypress. J'ai une table à 4 lignes (avec une classe de datatable). Je peux vérifier le nombre de lignes de cette façon:Dans Cypress comment compter une sélection d'articles et obtenir la longueur?

cy.get('.datatable').find('tr').each(function(row, i){ 
     expect(i).to.be.lessThan(4) 
}) 

Cela est bien, mais il semble maladroit, car je veux juste compter la longueur et ne pas vraiment besoin d'accéder à la substance dans les lignes, et je Supposons qu'il est plus rapide de faire une chose que de faire 4 choses.

Si je me connecte la sélection (pas sûr de ce que l'appeler):

cy.log(cy.get('.datatable').find('tr')) 

il sort comme [object Object] et je ne suis pas tout à fait sûr de savoir comment déconstruire ce qui me porte à croire que je Je pense à tout faux.

Si je tente:

expect(cy.get('.datatable').find('tr')).to.have.lengthOf(4) 

Je reçois AssertionError: expected { Object (chainerId, firstCall) } to have a property 'length'

Si je tente:

expect(Cypress.$('.datatable > tr')).to.have.lengthOf(4) 

-je obtenir AssertionError: expected { Object (length, prevObject, ...) } to have a length of 4 but got 0 si au moins il a une longueur ici?

Si j'identifie cette méthode de sélection, j'obtiens Object{4}. Je ne sais pas où aller à partir d'ici. Il semble que ce serait une chose très commune à traiter.

Répondre