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 - освобождает мышь, а затем мышь-вниз и действует на основе координат.
0 комментариев