Вызвать значение на входе диапазона - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь изменить значение на собственном входном диапазоне html5 с помощью Cypress. Вот код:

cy.get('input[type="range"]')
.invoke('val', 5)
.trigger('change')

Я получаю сообщение об ошибке:

CypressError: Тайм-аут повторной попытки: cy.invoke () произошла ошибка, так как свойство: 'val' делает не существует в вашей теме.

cy.invoke () ожидал, что указанное свойство 'val' существует, но никогда не существовало.

Я подтвердил, что вход существует в утверждение. Я также подтвердил, что он выбирает правильный элемент (диапазон ввода).

Любые идеи о том, что проблема и почему это не работает? Cypress документация указывает, что это будет работать для меня, как показано в их примерах.

1 Ответ

0 голосов
/ 11 февраля 2020

Попробуйте в консоли, для этого типа ввода нет val() (не знаю почему), но свойство .value доступно для получения и настройки, поэтому

cy.get('input[type="range"]')
  .then($input => $input[0].value = 5);

Codepen для экспериментов.

<input type="range" min="5" max="10" step="0.01">

//console.log(document.querySelector('input').val())

console.log(document.querySelector('input').value)   // "7.5"

document.querySelector('input').value = 9

console.log(document.querySelector('input').value)   // "9"
...