我有一个表,但是某种由 DIV 创建的 ag-grid,而不是真正的表元素:
<div role="row" row-index="1" >
<div col-id="name">Name 1</div>
<div col-id="age">25</div>
</div>
<div role="row" row-index="2" >
<div col-id="name">Name 1</div>
<div col-id="age">25</div>
</div>
我想验证每个字段是否带有col-id="name"
包含相同的项目。我正在测试某种过滤,因此如果用户过滤名称 1,我想检查每一行,如果只有名称 1 而没有其他内容。
由于我需要检查的每个字段都有相同的 col-id,所以我尝试了以下方法:
cy.get('div[col-id="name"]').contains('Name 1')
or
cy.get('div[col-id="name"]').should('contain','Name 1')
但即使某个字段包含另一个名称,这两种情况都会通过,因为它至少找到一个匹配项。
如何断言每个字段col-id="name"
应该只包含名称 1 吗?
也许使用.each()
单独测试元素
cy.get('div[col-id="name"]')
.each($el => {
expect($el.text()).to.eq('Name 1')
})
没有 .each()
cy.get('div[col-id="name"]')
.should($els => {
const names = [...$els].map(el => el.innerText)
expect(names.every(name => name === 'Name 1').to.eq(true)
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)