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

Селен с Python

Selenium поддерживает Python и поэтому может использоваться как Selenium WebDriver с Python для тестирования.

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

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

Что такое Python?

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

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

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

Что Селен?

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 в соответствии с потребностями проекта.

Перейдите в Window> Preferences> 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 WebDriver с 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()

Снимок кода

Создание тестовых сценариев в Selenium с помощью Python

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

  • Строка кода 1: Из веб-драйвера импорта модуля Selenium.
  • Строка кода 2: Из ключей импорта модуля Selenium.
  • Строка кода 3: Пользователь — это переменная, которую мы будем использовать для хранения значений имени пользователя.
  • Строка кода 4: переменная «пароль» будет использоваться для хранения значений пароля.
  • Строка кода 5: В этой строке мы инициализируем «FireFox», сделав из этого объект.
  • Строка кода 6: «Метод driver.get» перейдет на страницу, заданную URL-адресом. WebDriver будет ждать, пока страница не будет полностью загружена (то есть событие «onload» не исчезнет), прежде чем вернуть управление вашему тесту или скрипту.
  • Строка кода 7: В этой строке мы находим элемент текстаbox где «е»mail»надо написать.
  • Строка кода 8: Теперь мы отправляем значения в email .
  • Строка кода 9: то же самое для пароля
  • Строка кода 10: Отправка значений в раздел пароля.
  • Строка кода 11: element.send_keys(Keys.RETURN) используется для нажатия клавиши ввода после вставки значений.
  • Строка кода 12: Закрывать

ВЫВОД

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

Создание тестовых сценариев в Selenium с помощью Python

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

Создание тестовых сценариев в 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

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

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

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

Несколько моментов, которые отдают предпочтение Python Java использовать с Selenium:

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

Итоги

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