Ere*_*555 5 javascript testing cypress
我有一个表,我想确保使用 Cypress 的列中不会重复值。目前,我正在做
cy.get("#myTable")
.find(".table")
.contains("unique_value")
.should("exist")
Run Code Online (Sandbox Code Playgroud)
这段代码确实检查列中的值是否存在,但它不能确保它是表中具有此值的唯一条目。如何通过 Cypress 检查唯一性?
Ric*_*sen 14
令人惊讶的是,这
cy.get("#myTable")
.find(".table")
.contains("unique_value")
.should('have.length', 1);
Run Code Online (Sandbox Code Playgroud)
甚至这个
cy.get("#myTable")
.find(".table td")
.contains("unique_value")
.should('have.length', 1);
Run Code Online (Sandbox Code Playgroud)
将返回误报- 如果您使用两个unique_value表格单元格运行它,它会错误地通过。
Ref contains - yields表示返回单个值。
我发现最好的方法是将contains()向上移动到.find()选择器中,
cy.get("#myTable")
.find('.table td:contains("unique_value")')
.should('have.length', 1)
Run Code Online (Sandbox Code Playgroud)
以上测试了单元格之间的唯一性。如果您还想测试单元格内的值,最简单的方法是调用该text()方法。
cy.get("#myTable")
.find('.table td:contains("unique_value")')
.should('have.length', 1) // ensure only one cell has value
.invoke('text')
.should('equal', 'unique_value') // check the exact content of the cell
Run Code Online (Sandbox Code Playgroud)
请参阅本页的第一个示例