2017-10-20 3 views
3

Ich fange an, Cypress zu lernen. Ich habe eine 4-Zeilen-Tabelle (mit einer Klasse von Datentabellen). Ich kann die Anzahl der Zeilen auf diese Weise überprüfen:In Cypress, wie man eine Auswahl der Einzelteile zählt und die Länge erhält?

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

Das ist in Ordnung, aber es scheint umständlich, da ich möchte nur die Länge zählen und nicht wirklich brauchen, das Zeug in den Zeilen zugreifen zu können, und ich gehe davon aus, dass es schneller ist, eine Sache zu tun als 4 Dinge.

Wenn ich die Auswahl log (nicht sicher, was es zu nennen):

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

es darum geht, wie [object Object] und ich bin mir nicht ganz sicher, wie das dekonstruieren, was mir zeigt, dass ich Ich denke darüber nach allem falsch.

Wenn ich versuche:

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

I AssertionError: expected { Object (chainerId, firstCall) } to have a property 'length' bekommen

Wenn ich versuche:

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

ich AssertionError: expected { Object (length, prevObject, ...) } to have a length of 4 but got 0 bekommen so zumindest hat es eine Länge hier?

Wenn ich diese Methode der Auswahl protokolliere, bekomme ich Object{4}. Ich bin mir nicht sicher, wohin ich von hier aus gehen soll. Es scheint so zu sein, als ob dies eine sehr häufige Sache wäre.

Antwort

Verwandte Themen