t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема с установкой значения скрытому input

Теги: #<Tag:0x00007f9b09a0e5f0>

На странице есть такой input:

<input type="hidden" name="BirthMonth" id="HiddenBirthMonth" value="">

При попытке установить ему value:

$("#HiddenBirthMonth").setValue("04");

Валится с ошибкой:

Exception in thread "main" Element should be visible {#HiddenBirthMonth}
Element: '<input id="HiddenBirthMonth" name="BirthMonth" type="hidden" displayed:false></input>'

Можно ли каким-то образом решить эту проблему?

это datepicker ?

Можете с помощью JS поменять hidden на visible, вставить свое значение и вернуть назад как было.

А пользователь видит это поле? А может не нужно его использовать? Ну или может фронтэндщиков спроси, это нормально или нет и то что тебе этот элемент нужен как видимый

1 Симпатия

Если пользователь не видит это поле, то и в тесте не нужно его менять. Тест же должен эмулировать действия пользователя.

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

Selenide.executeJavaScript("$('#HiddenBirthMonth').val('04')");

1 Симпатия