как получить значение автоподставленное java script в поле input формы?

May 05, 2020 11:43

.

оскриптовываю на Java + selenid пользовательскую историю:

открывается легковесный url, который требует пароля
админ логинится в систему,
открывает url по которому можно менять свойства пользователя,
жмёт на значок ключа
всплывает модальное окно формы
в форме есть input поле, в котором системой уже подставлен автосгенерированный системой же пароль

Мне нужно этот пароль получить в selenid в Java код.



Код формы: https://pastebin.com/B4LZSz25

Код на Java: https://pastebin.com/vA6bEq82

Что я получаю сейчас в debug прогоне в idea: https://imgur.com/3wiAtjJ.png

Ну и выношу из коммента в Java коде собственно вопрос:

Хоть как-то получить сгенерённый и подставленный в форму выделябельный мышью текст
автосгенерированного пароля возможно или нужно для этого внедрять js код?

Как вариант можно ставить курсор .click() и вбивать свой текст,
но желательно считать автоподставленный системой пароль - в том числе, чтобы не городить свой генератор паролей.

У меня некоторые сомнения, что selenid сумеет получить текст в input поле до submit. Этот текст точно должен быть доступен javascript'у, а вот что с java+selenid? Возможно нужно вставить именно javascript код средствами selenide (inject кода в тестируемую форму ввода). Если не нужен inject javascript кода средствами selenid - одна история, если нужен - другая.

UPDATE: сомнения беспочвенные, см. решение по url ниже.

SOLVED:

A) Для ускорения поиска селектора элемента для $("селектор") делаем сначала click(), когда
после click() google-chrome стал подчёркивать текст в строке формы как орфографически
неправильный - селектор элемента выбран правильно.

B) Код решения с комментариями: https://pastebin.com/0WS8fP5s

За помощь спасибо Telegram каналу https://t.me/qa_automation, а конкретно Andrei Solntsev и Yaroslav Pernerovskyy .

url, solved, java, programming, qa automation, life

Previous post Next post
Up