Cypress:有没有办法断言输入的值不为空或至少包含一定数量的字符

Joj*_*oji 5 javascript reactjs cypress

我有一个可以提供一些价值的输入。我需要检查该值是否存在,换句话说,输入字段中至少应该有一个字符/字母。

我在赛普拉斯有一个这样的测试

cy.get('input').should('be.visible').and(($input) => {
  expect($input).to.have.value('')
})

Run Code Online (Sandbox Code Playgroud)

这不起作用,因为此测试检查该值是否恰好是''. 我想要的是该值的长度至少应为 1/ 非空。有办法做到吗?

小智 5

如果您想在输入字段中输入内容

cy.get('input').type("here some value")
.should("have.value","here some value")//checks exactly for that string
Run Code Online (Sandbox Code Playgroud)

或者如果你想断言输入不为空

cy.get('input').should('not.be.empty')
Run Code Online (Sandbox Code Playgroud)

我建议检查文档https://docs.cypress.io/api/commands/should.html#Usage


Ala*_*Das 0

您可以通过将值与正则表达式进行匹配来完成此操作。您可以从cypress 文档获取更多信息。

cy.get('input').should('be.visible').and(($input) => {
  const val = $input.val()
  expect(val).to.match(/foo/)
})
Run Code Online (Sandbox Code Playgroud)