我开始学柏树了。我有一个4行表(有一类可更新的)。我可以这样验证行数:
cy.get('.datatable').find('tr').each(function(row, i){
expect(i).to.be.lessThan(4)
})
这很好,但看起来很尴尬,因为我只想计算长度,并不需要访问行中的内容,我假设做一件事比做4件事要快。
如果我记录所选内容(不确定还可以叫它什么):
cy.log(cy.get('.datatable').find('tr'))
它以[对象对象]
的形式出现,我不太确定如何解构它,这向我表明我完全错了。
如果我尝试:
expect(cy.get('.datatable').find('tr')).to.have.lengthOf(4)
我得到的AssertionError:预期{Object(chainer Id, firstCall)}有一个属性'长度'
如果我尝试:
expect(Cypress.$('.datatable > tr')).to.have.lengthOf(4)
我得到AssertionError:expected{Object(length,prevObject,…)}如果长度为4,但得到0,那么这里至少有一个长度?
如果我记录了选择的方法,我得到了对象{4}
。我不知道从这里去哪里。这似乎是一件非常常见的事情。
如果您想要更灵活,并有一个动态的结果,请使用此。
cy.get('.listings-grid')
.find('.listing')
.then(listing => {
const listingCount = Cypress.$(listing).length;
expect(listing).to.have.length(listingCount);
});
您还可以通过其属性获取所选项目的长度,例如:
cy.get('.datatable').find('tr').its('length').should('eq', 4)
cy.get('.datatable').find('tr').its('length').should('be.gte', 4)
除了应该('have.length',4)
找到一个解决方案,这可用于检查项目数:
cy.get('.datatable').find('tr').should('have.length', 4)
这不适用于Cypress$()
表示法。
参考:https://docs.cypress.io/guides/references/assertions.html#Length
我正在用cypress做E2E测试。我必须计算表中的行数,每种情况都不同。 在正常的javascript中,我写这个只是为了得到列的总行数 不幸的是,在柏树我得到以下错误: 我试着这样数数但一无所获 我不知道它从哪里返回了行数
我试图计算select元素中的选项数,以及DOM中某个类的元素数。 我需要比较这两个总数来得出赛普拉斯的断言。 我可以选择所需的选项,并使用each()对它们进行迭代,然后以这种方式递增一个计数器。然而,它是异步的,也是一个笨拙的解决方案。我确信我的cy.get()生成的对象有一个length属性,我就是看不懂它。 这是我期望的事情之一。它将未定义的日志记录到控制台。 我知道我的别名很好,并且我的
以下代码起作用: 如何将第二行重构为: 您对所选的******选项使用了什么?
我想计算选择属性中的选项,但我的测试失败了,这是我的规范: 它给了我错误: C:\wamp\www\First-angular-App
我正在做宠物项目和使用NetBeans JFrame。我面临一个问题,我只能计算一个选中的chexBox总数。但是我如何实现一个方法或smth,它可以帮助计算所有选中的CheXBoxes的总数。很高兴回答我该如何执行和计算检查的价格?下面是我的代码和截图
此组件来自https://github.com/skratchdot/react-bootstrap-multiselect handleChange()函数中应该写什么?