Справочник Selenium Java
Я пишу эту статью, чтобы поделиться общими фрагментами кода автоматизации Selenium. Надеюсь, что этот источник станет служить вам справочником, на который можно ссылаться, когда вы добавляете несколько новых скриптов в свою существующую среду автоматизации или готовитесь к собеседованию.
1. Декларация WebDriver
Вы можете узнать здесь, зачем нам нужен вышеуказанный код. Делюсь несколькими скриншотами ниже для лучшего понимания.
2. Поиск элементов
Ниже приведён HTML-код для одного текстового поля ввода:
a. Поиск по ID:
b. Поиск по Xpath:
c. Поиск по CSS-селекторам:
d. Поиск по классу:
e. Поиск по тегу:
f. Поиск по Name:
g. Поиск гиперссылок:
Пожалуйста, найдите HTML-элемент ниже:
i. Текст ссылки
ii. Частичный текст ссылки
3. Выпадающий список, флажки и переключатели
a. Выпадающий список статического одиночного выбора
Пожалуйста, найдите HTML-код для статического выпадающего списка ниже:
Ознакомьтесь с фрагментом кода Selenium ниже:
b.Статический выпадающий список с несколькими вариантами выбора
Пожалуйста, найдите HTML-код для статического выпадающего списка с несколькими вариантами выбора ниже:
Пожалуйста, ознакомьтесь с фрагментом кода Selenium ниже:
Существует несколько способов выбора статического выпадающего списка с одним или несколькими вариантами выбора, которые приведены ниже:
- selectByIndex(int IndexOfElement)
- selectByValue(String Value)
- selectByVisibleText(String Text)
Существует несколько способов отменить выбор статического выпадающего списка с одним или несколькими вариантами выбора, которые приведены ниже:
- deselectByIndex(int IndexOfElement)
- deselectByValue(String Value)
- deselectByVisibleText(String Text)
e. Флажки
Пожалуйста, найдите HTML-код для флажков ниже:
Пожалуйста, найдите фрагмент кода Selenium для флажков ниже:
f. Кнопка переключения
Пожалуйста, ознакомьтесь с HTML-кодом ниже:
Пожалуйста, ознакомьтесь с фрагментом кода Selenium для переключателей ниже:
4. Ожидание
a. Неявное ожидание
b. Явное ожидание
Пожалуйста, обратите внимание, что не следует смешивать неявные и явные ожидания. Это может привести к непредсказуемому времени ожидания. Например, установка неявного ожидания в 10 секунд и явного ожидания в 15 секунд может привести к возникновению тайм-аута через 20 секунд.
c. Свободное ожидание
5. Работа с различными окнами
- Чтобы получить дескриптор текущего окна — driver.getWindowHandle()
- Чтобы получить все дескрипторы окна — driver.getWindowHandles()
6. Класс действий
a. Действие мыши
- click() — Щёлкает по текущему местоположению курсора
- DoubleClick() — Двойной щелчок по текущему местоположению курсора
- contextClick() — Щелчок правой кнопкой мыши по текущему местоположению курсора
- DragAndDrop(источник WebElement, цель WebElement) — Перетаскивает элемент из одного местоположения в другое
- moveToElement(цель WebElement) — Перемещает элемент
b. Действие с клавиатуры
- keyUp(WebElement target, java.lang.CharSequence key) — освобождает ключ после фокусировки на целевом элементе
- keyDown(WebElement target, java.lang.CharSequence key) — выполняет нажатие клавиши после фокусировки на целевом элементе
- SendKeys(WebElement target, java.lang.CharSequence… keys) — вводит последовательность клавиш
Фрагмент кода Selenium:
i. Пример сочетания действий
ii. Пример перетаскивания
7. Теневой корневой элемент
Пожалуйста, найдите изображение HTML-кода для теневого корня ниже:
Пожалуйста, найдите приведённый ниже код, с помощью которого мы можем проверить в консоли, правильна ли наша стратегия поиска или нет:
Пожалуйста, найдите фрагмент кода Selenium для теневого корневого селектора:
8. Захват скриншота
Пожалуйста, найдите фрагмент кода selenium ниже, чтобы сделать снимок экрана и скопировать его по определённому пути
9. Загрузка файла
Пожалуйста, ознакомьтесь с фрагментом кода selenium для загрузки файла ниже:
10. Действия с клавиатуры
a. Использование класса действий
Также существует нечто, называемое классом Robot. Оно хорошо подходит для обработки собственных всплывающих окон, таких как загрузка файла. Вы можете обратиться к этой статье для получения дополнительной информации.
11. Таблицы
Таблица в основном состоит из заголовка, строк и табличных данных.
Пожалуйста, обратитесь к этому веб-сайту для получения примера таблицы.
a. Чтобы получить все заголовки таблиц
b. Чтобы получить отдельный элемент строки
c. Чтобы получить все элементы строки
d. Для получения значений отдельных табличных данных
Чтобы получить значения отдельных ячеек, нам придётся выполнить итерацию по элементам строки, а затем получить доступ к отдельным элементам данных таблицы и сохранить их в хэш-карте.
12. Некоторые общие операции с использованием Selenium
a. Режим "В полный экран"
b. Сворачивание окна
Ниже приведены различные методы, доступные в “окне”:
c. Использование файлов cookie
i. Добавление файла cookie
ii. Получение всех файлов cookie
iii. Получение файла cookie с именем ‘session-id’
iv. Удаление файла cookie с именем ‘session-id’
v. Удаление всех файлов cookie
d. Чтобы выйти/закрыть браузер
i. driver.close() — закрывает текущее окно браузера, в котором выполняются автоматические скрипты
ii. driver.quit() — закрывает все окно браузера
13. Обработка фреймов
Пожалуйста, ознакомьтесь с HTML-кодом ниже:
a. driver.switchTo.frame(int frameNumber) — указав номер индекса фрейма, драйвер переключится на него
b. driver.switchTo.frame(строка frameNameOrID) — при упоминании элемента фрейма или идентификатора драйвер переключится на этот конкретный фрейм
c. driver.switchTo.frame(WebElement frameElement) — при упоминании веб-элемента фрейма драйвер переключится на этот конкретный фрейм
d. driver.switchTo().defaultContent() — возврат к главному окну
14. Обработка оповещений
a. Для обработки простых оповещений нажмите кнопку "OK"
б. Обработка оповещений с помощью кнопок ‘OK’ и ‘Cancel’
c. Для отправки символов во всплывающее окно с предупреждением
Вы можете ознакомиться с подсказками на этой странице.
15. Разные фрагменты Selenium
a. Обработка ненадёжных сертификатов
b. Желаемые возможности
Ссылки на рекомендуемые источники:
Статья была взята из этого источника: