Selenium WebDriver является наиболее часто используемым инструментом среди всех инструментов, доступных в наборе инструментов Selenium. Поэтому важно понять, как использовать Selenium для взаимодействия с веб-приложениями. В этом модуле давайте разобраться, как взаимодействовать с объектами графического интерфейса, используя Selenium webDriver.

Нам нужно взаимодействовать с приложением, используя некоторые базовые действия или даже некоторые продвинутые действия пользователя, разрабатывая пользовательские функции, для которых нет предопределенных команд.

Text Box Interaction

Мы можем поместить значения в текстовое поле, используя метод sendkeys. Аналогичным образом, мы также можем извлекать текст из текстового поля, используя команду getattribute (value)

Radio Button Selection

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

Check Box Selection

Мы можем выбрать флажок с помощью метода click и снять отметку с помощью одного и того же метода click.

Drop Down Item Selection

Мы можем выбрать вариант с помощью методов selectByVisibleText или selectByIndex или selectByValue.

Synchronization

Чтобы синхронизировать выполнение сценария и приложения, нам нужно подождать после выполнения соответствующих действий. Thread.Sleep - это статическое ожидание, и это не очень хороший способ использования в скриптах, поскольку это сон без каких-либо условий.

Thread.Sleep(7000);

Явное ожидание - explicit wait ожидает определенного условия, прежде чем продолжить. Он используется главным образом, когда мы хотим щелкнуть или действовать на объект, как только он станет видимым.

Неявное ожидание - implicit wait используется в тех случаях, когда WebDriver не может найти объект немедленно из-за его недоступности. WebDriver будет ожидать указанное неявное время ожидания, и он не попытается найти элемент снова в течение указанного периода времени.

Как только указанный срок будет скрещен, webDriver попытается снова выполнить поиск элемента в последний раз. После успеха он выполняет исполнение; при сбое он выдает исключение.

Это своего рода глобальное ожидание, которое означает, что ожидание применимо для всего драйвера. Следовательно, жесткое кодирование этого ожидания для более длительных периодов времени будет препятствовать времени выполнения.

Свободное время ожидания - экземпляр FluentWait определяет максимальный промежуток времени для ожидания выполнения условия, а также частоту проверки существования условия объекта.

Keyboard Actions

Ниже приведены методы выполнения действий клавиатуры:

  • sendKeys - Отправляет ключи в представление клавиатуры в браузере. Специальные клавиши, которые не являются текстом, представленными как Ключи, распознаются как часть последовательностей символов, так и индивидуально.
  • pressKey - нажмите клавишу на клавиатуре, которая не является текстом. Клавиши, такие как функциональные клавиши «F1», «F2», «Tab», «Control» и т. Д. Если keyToPress представляет собой последовательность символов, разные реализации драйверов могут выбрасывать исключение или читать только первый символ в последовательность.
  • releaseKey - отпустите клавишу на клавиатуре после выполнения события нажатия клавиши. Как правило, это удобно для текстовых символов.

Mouse Actions

Ниже перечислены некоторые из ключевых действий мыши, которые можно встретить в большинстве приложений:

  • Click - Выполняет щелчок. Мы также можем выполнить щелчок на основе координат.
  • contextClick - выполняет контекст щелчком / щелчком правой кнопки мыши по элементу или на основе координат
  • doubleClick - выполняет двойной щелчок на веб-элементе или на основе координат. Если он оставлен пустым, он выполняет двойной щелчок по текущему местоположению.
  • mouseDown - Выполняет действие мыши по элементу или на основе координат.
  • mouseMove - Выполняет действие перемещения мыши на элементе или на основе координат.
  • mouseUp - освобождает мышь, а затем мышь-вниз и действует на основе координат.