Как правильно проверить, имеет ли входное значение меньше x в Cypress? - PullRequest
2 голосов
/ 18 июня 2020

Я пытаюсь проверить, имеет ли значение меньше x. Как лучше всего проверить это в Cypress?

Пример кода (который не работает):

cy.get('.number-input').type('200').should('have.value.lt', '201')

Я знаю, что могу сделать это с помощью обратного вызова, но это кажется немного беспорядочно, особенно с учетом того, насколько аккуратно проверять, действительно ли ввод что-то:

cy.get('.number-input').type('200').should('have.value', '200')

1 Ответ

1 голос
/ 18 июня 2020

Chai lt является допустимым (см. Chai. js cheatsheet ), но для него требуются числовые c значения, а <input /> value всегда является строкой, поэтому вам нужно будет преобразовать его на число.

Кроме того, команда Cypress .should('have.value.lt', '201') представляет собой комбинацию операторов jQuery и chai, что из сообщения об ошибке явно недопустимо (синтаксис для should params немного непрозрачен, вам просто нужно попробовать).

Итак, это работает

cy.get('.number-input').type('200')
  .invoke('val')                         // call the val() method to extract the value
  .then(val => +val)                     // convert it to a number
  .then(val => console.log(typeof val))  // just to check the type
  .should('be.lt', 201)                  // also compare it to a number
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...