Как использовать Selenium и Java для взаимодействия с динамическим веб-элементом? - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу использовать Selenium для взаимодействия с элементом на сайте. Этот элемент содержит дополнительное содержимое в зависимости от поведения пользователя, но, очевидно, содержит ровно один HTML-элемент за все время.

Элемент выглядит следующим образом, когда мышь находится над ним:

element without mouse on top

Когда мышь находится над ней, она выглядит следующим образом:

element with mouse on top

Когда пользователь нажимает стрелку вниз, визуализируется другой контент:

more dynamic content

Как вы видите, он содержит еще больше логики, я не добавилскриншоты для этого.

Соответствующий HTML-код таков, ничего более: html code of element

Я не знаю, как создается этот контент. Кто-нибудь знает, как я могу использовать Selenium и Java для взаимодействия с этим веб-элементом? Очевидно, что Selenium ограничен содержимым HTML - что я могу сделать, не пытаясь использовать грязные методы взлома, такие как позиционирование мыши в определенной позиции на элементе для запуска другой визуализации? проводить автоматизированное сквозное тестирование. Это означает, что мне нужно программно использовать кнопки веб-элемента так, как пользователь:

  1. Удалить дату, нажав кнопку x
  2. Изменить дату, нажимая кнопки вверх и вниз
  3. Измените дату с помощью компонента календаря
  4. Изменение текста в веб-элементе (я думаю, что, возможно, уже смогу сделать это с моими текущими знаниями о Selenium)

1 Ответ

0 голосов
/ 04 ноября 2019

Я разговаривал с разработчиком этого приложения, и он сказал мне, что на самом деле просто добавляет один HTML-элемент ввода типа date в приложение. Остальное (т.е. средство визуализации / редактор этого поля ввода, как я представил в вопросе выше) полностью зависит от браузера. Похоже, что в Chrome и совсем по-другому в Firefox.

Описанный выше веб-элемент выглядит как обычный выбор HTML 5 DateTime в Chrome. С этим знанием вы можете найти веб-элемент самостоятельно и учебное пособие по Selenium здесь: https://www.guru99.com/handling-date-time-picker-using-selenium.html и другое обсуждение, похожее на мой вопрос здесь: Как установить поля ввода HTML5 type = "date" (например, в Chrome) использование Selenium / Protractor?

Страница гуру, очевидно, описывает, как управлять полным веб-элементом, и, похоже, это работает. Я проверю это и приму это как ответ пока. Спасибо всем за ваше время!

...