我开始学习赛普拉斯。我有一个 4 行表(带有一类数据表)。我可以通过这种方式验证行数:
cy.get('.datatable').find('tr').each(function(row, i){
expect(i).to.be.lessThan(4)
})
这很好,但看起来很尴尬,因为我只想计算长度而不需要访问行中的内容,而且我认为做一件事比做四件事要快。
如果我记录选择(不知道还有什么叫它):
cy.log(cy.get('.datatable').find('tr'))
它出来了[object Object]
,我不太确定如何解构它,这表明我在想这一切都是错误的。
如果我尝试:
expect(cy.get('.datatable').find('tr')).to.have.lengthOf(4)
我明白了AssertionError: expected { Object (chainerId, firstCall) } to have a property 'length'
如果我尝试:
expect(Cypress.$('.datatable > tr')).to.have.lengthOf(4)
我明白AssertionError: expected { Object (length, prevObject, ...) } to have a length of 4 but got 0
了,至少它在这里有一个长度?
如果我记录该选择方法,我会得到Object{4}
. 我不知道从这里去哪里。看起来这将是一件很常见的事情。