Selenium Python Учебное пособие по WebDriver (пример)

⚡ Умное резюме

Selenium с Python сочетает библиотеку автоматизации WebDriver с Python лаконичный синтаксис для тестирования веб-приложений в различных средах. FirefoxChrome и Internet Explorer. В этом пошаговом руководстве описана настройка. PyDev in Eclipseпишет скрипты авторизации и объясняет, почему команды предпочитают Python за Java.

  • 🐍 Python Преимущество: Less многословный синтаксис приводит к Selenium Скрипты проще читать и поддерживать.
  • 🌐 Вебдрайвер: Отправляет стандартные команды FirefoxChrome и IE, независимо от дизайна браузера.
  • 🧩 PyDev Настроить: Установить PyDev плагин в Eclipse и установите Python переводчик.
  • ???? Скрипты авторизации: Найдите поля по идентификатору, отправьте ключи и автоматически отправьте форму.
  • Утверждение права собственности: Функция WebDriverWait в сочетании с assert проверяет заголовок страницы после входа в систему.
  • 🤖 AI-помощь: Инструменты искусственного интеллекта генерируют локаторы и Selenium Python скрипты, созданные на основе простых подсказок.

Selenium Python Учебное пособие по WebDriver

Selenium с Python

Selenium поддерживает Python и, таким образом, может быть использован как Selenium Вебдрайвер с Python для тестирования.

  • Python По сравнению с другими языками программирования он прост, поскольку имеет гораздо менее многословный синтаксис.
  • Python API позволяют вам подключаться к браузеру через Selenium.
  • Selenium отправляет стандарт Python команды для разных браузеров, несмотря на различия в их дизайне.

Вы можете запустить Selenium с Python сценарии для FirefoxChrome, IE и т. д. на разных операционных системах.

Что такое Python?

Python — это объектно-ориентированный скриптовый язык высокого уровня. Он разработан в удобной для пользователя форме. Python Использует простые английские ключевые слова, которые легко интерпретировать. Имеет меньше синтаксических сложностей, чем любой другой язык. язык программирования.

См. некоторые примеры в таблице ниже.

Ключевое слово Смысл Применение
Элиф Иначе если Иначе если
еще Еще если: Х; Элиф: Й; еще: Дж
кроме Сделайте это, если возникнет исключение. кроме ValueError, a: напечатайте
Exec Запустить строку как Python exec 'напечатать «привет, мир!»'

Что такое Selenium?

Selenium Это инструмент для тестирования вашего веб-приложения. Вы можете сделать это различными способами, например:

  • Разрешите ему нажимать на кнопки.
  • Вводите контент в формы.
  • Просмотрите свой сайт, чтобы проверить, все ли в порядке и так далее.

Как установить и настроить PyDev in Eclipse

PyDev это Python среда разработки для Eclipse.

Шаг 1) Перейдите на Eclipse Торговая площадка. Помощь > Установить новое программное обеспечение.

Установить и настроить PyDev in Eclipse

Следующий шаг — установка среды разработки PyDev IDE. Eclipse.

Шаг 2) На этом этапе:

  1. В меню «Работа с» найдите «http://pydev.org/updates», а затем
  2. Выберите все перечисленные элементы и дважды нажмите кнопку «Далее».
  3. Примите лицензионное соглашение и нажмите «Завершить».

Установить и настроить PyDev in Eclipse

Шаг 3) Возможно, вы увидите предупреждение системы безопасности. Нажмите «Установить в любом случае».

Установить и настроить PyDev in Eclipse

Шаг 4) Настройте параметры, чтобы вы могли использовать Python В соответствии с потребностями проекта. Перейдите в меню «Окно» > «Настройки» > PyDev > Переводчик > Python Устный переводчик.

Установить и настроить PyDev in Eclipse

Установить по умолчанию Python Интерпретатор, точно так же, как вы его настроили. Java компилятор для запуска Java код. Чтобы изменить имя интерпретатора, нажмите кнопку «Найти python/pypy.exe».

Установить и настроить PyDev in Eclipse

Шаг 5) На этом этапе укажите «имя интерпретатора» и путь к файлу «exe». Python.

  1. Нажмите «Обзор» и найдите python.exe там, где вы установили. Python.
  2. Щелкните кнопку «ОК».
  3. Выберите все папки и нажмите ОК.
  4. Нажмите «Применить и закрыть».

Установить и настроить PyDev in Eclipse

Шаг 6) Создать новый проект в PythonНа этом этапе:

  1. Щелкните правой кнопкой мыши PyDev Обозреватель пакетов > Создать.
  2. Выберите вариант другие.

Установить и настроить PyDev in Eclipse

  1. Выберите "PyDev > PyDev Проект".
  2. Нажмите кнопку «Далее».

Установить и настроить PyDev in Eclipse

  1. Назовите свой проект.
  2. Щелкните "Готово".

Установить и настроить PyDev in Eclipse

Вы можете увидеть новый Python (PyDev) проект создан.

Шаг 7) После создания 'PyDev Project', вы создадите новый Python пакет.

  1. Щелкните правой кнопкой мыши Проект > Создать > PyDev Пакет.
  2. Назовите свой пакет и нажмите «Завершить».

Установить и настроить PyDev in Eclipse

Установить и настроить PyDev in Eclipse

Шаг 8) Как видно на скриншоте ниже, создан новый пакет.

Установить и настроить PyDev in Eclipse

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

Шаг 9) Создать новый PyDev модуль. Щелкните правой кнопкой мыши пакет > Создать > PyDev модуль.

Установить и настроить PyDev in Eclipse

Назовите свой модуль и нажмите «Готово».

Установить и настроить PyDev in Eclipse

Выберите «Пустой шаблон» и нажмите «ОК».

Установить и настроить PyDev in Eclipse

Шаг 10) Напишите свой код для Selenium с Python как показано ниже.

Установить и настроить PyDev in Eclipse

Как создавать тестовые сценарии в Selenium с Python

В этом Selenium Вебдрайвер с Python Например, мы автоматизировали процесс входа на страницу Facebook, используя... Firefox Водитель.

Selenium с Python Пример 1: Войдите в Facebook

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

Снимок Code

Создание тестовых сценариев в Selenium с Python

Пояснение к коду

  • Code строка 1: Из модуля selenium импортируйте webdriver.
  • Code строка 2: Из модуля selenium импортируйте ключи.
  • Code строка 3: user_name — это переменная, используемая для хранения значения имени пользователя.
  • Code строка 4: Для хранения значения пароля будет использоваться переменная «password».
  • Code строка 5: Инициализировать «Firefox», сделав из этого объект.
  • Code строка 6: Метод «driver.get» перенаправляет на страницу, указанную в запросе. URLWebDriver ожидает полной загрузки страницы, прежде чем вернуть управление вашему скрипту.
  • Code строка 7: Найдите текстовое поле, куда нужно ввести слово «email».
  • Code строка 8: Отправьте значения в раздел электронной почты.
  • Code строка 9: То же самое относится и к паролю.
  • Code строка 10: Перенесите значения в раздел паролей.
  • Code строка 11: Функция element.send_keys(Keys.RETURN) нажимает Enter после ввода значений.
  • Code строка 12: Закрыть.

Выход: Введены значения имени пользователя «guru99» и пароля.

Создание тестовых сценариев в Selenium с Python

Для входа на страницу Facebook потребуется ввести адрес электронной почты и пароль. Страница открылась (см. изображение ниже).

Создание тестовых сценариев в Selenium с Python

Selenium с Python Пример 2: Войдите в Facebook и проверьте заголовок.

В этом примере мы откроем страницу входа, заполним обязательные поля «имя пользователя» и «пароль» и проверим заголовок страницы.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

Снимок кода

Создание тестовых сценариев в Selenium с Python

Расшифровка кода:

  • Code строки 1-2: Импортируйте пакеты Selenium.
  • Code строка 4: инициализировать Firefox путем создания объекта.
  • Code строка 6: Получите страницу входа (Facebook).
  • Code строки 8-10: Получите поля ввода имени пользователя, пароля и кнопку отправки.
  • Code строки 11-12: Введите данные в поля для ввода имени пользователя и пароля.
  • Code строка 14: Нажмите на кнопку «Отправить».
  • Code строка 15: Создайте объект ожидания с таймаутом в 5 секунд.
  • Code строка 16: Получите заголовок из объекта «browser».
  • Code строка 17: Проверьте захваченную строку заголовка, используя слово «Facebook».

Почему выбрать Python за Java in Selenium

Несколько аргументов в пользу Python за Java использовать с Selenium составляют:

  1. Java программы имеют тенденцию работать медленнее по сравнению с Python программ.
  2. Java использует традиционные фигурные скобки для начала и конца блоков, в то время как Python использует отступы.
  3. Java использует статическую типизациюping, В то время Python является динамически типизированным.
  4. Python проще и компактнее по сравнению с Java.

Часто задаваемые вопросы (FAQ)

Выполните команду `pip install selenium.modular`. Selenium корабль с Selenium Менеджер, который автоматически загружает соответствующий драйвер браузера, поэтому ручная настройка chromedriver не требуется.

WebDriver — это Selenium интерфейс, управляющий реальным браузером и отправляющий команды FirefoxИспользуйте Chrome или Edge для управления навигацией, кликами и вводом данных в формы.

Selenium Удалена функция find_element_by_id (см. раздел 4). Используйте класс By: from selenium.webdriver.common.by import By, then driver.find_element(By.ID, “email”).

Неявное ожидание опрашивает DOM в течение заданного времени. Явное ожидание (WebDriverWait) приостанавливает работу до тех пор, пока не будет выполнено определенное условие. Избегайте их смешивания, чтобы предотвратить непредсказуемое время отклика.

№ PyDev in Eclipse Это один из вариантов. Вы также можете запустить Selenium Python скрипты в PyCharm, VS Codeили из командной строки.

Selenium WebDriver поддерживает FirefoxChrome, Edge, Safari и Internet Explorer. То же самое. Python Скрипт находит их путем обмена.ping водитель.

Да. Искусственные интеллектуальные помощники, такие как ChatGPT, преобразуют описание теста на простом языке в... Selenium Python код, предложить локаторы и преобразовать старые вызовы find_element_by_id в синтаксис By.

Да. GitHub Copilot предлагает стабильные локаторы, объясняет ошибки NoSuchElementException и рекомендует явное ожидание, что уменьшает количество нестабильных тестов на динамических страницах.

Подведем итог этой публикации следующим образом: