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

Содержание:

Anonim

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

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

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

В этом руководстве по Selenium Python вы узнаете:

  • Что такое Python?
  • Что такое селен?
  • Почему выбрать Python вместо Java в Selenium
  • Как установить и настроить PyDev в Eclipse
  • Как создавать тестовые сценарии на Selenium с помощью Python

Что такое Python?

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

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

Ключевое слово Смысл использование
Элиф Иначе, если Иначе, если
еще Еще если: X; elif: Y; иначе: J
Кроме сделайте это, если произойдет исключение, кроме ValueError, a: print a
exec Запустить строку как Python exec 'print "hello world!"'

Что такое селен?

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

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

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

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

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

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

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

Шаг 1) Зайдите в Eclipse Marketplace. Справка> Установить новое программное обеспечение

Следующим шагом будет установка «pydev IDE» для eclipse.

Шаг 2) На этом шаге

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

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

Шаг 4) Теперь , в этом шаге будет задавать предпочтения. С помощью параметра предпочтений вы можете использовать Python в соответствии с потребностями проекта.

Перейдите в Window> Preferences> PyDev> Interpreter> Python Interpreter.

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

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

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

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

  1. Щелкните правой кнопкой мыши PyDev Package Explorer> New.
  2. Выберите вариант другие.

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

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

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

Шаг 7) На этом шаге

После создания «PyDev Project» вы создадите новый пакет Python.

  1. Щелкните правой кнопкой мыши Project> New> PyDev Package.
  2. Назовите свой пакет и нажмите «Готово».

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

После создания нового пакета следующим шагом будет создание модуля PyDev. Модуль содержит несколько файлов Python для инициализации. Эти файлы или функции из модуля можно импортировать в другой модуль. Так что заново переписывать программу не нужно.

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

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

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

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

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

В этом примере Selenium WebDriver с Python мы автоматизировали «страницу входа в Facebook» с помощью драйвера Firefox.

Selenium Python, пример 1: вход в Facebook

из selenium import webdriverиз selenium.webdriver.common.keys импорт ключейuser_name = "ВАШ EMAILID"пароль = "ВАШ ПАРОЛЬ"драйвер = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("электронная почта")element.send_keys (имя_пользователя)element = driver.find_element_by_id ("пройти")element.send_keys (пароль)element.send_keys (Keys.RETURN)element.close ()

Снимок кода

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

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

ВЫХОД

Значения введенного имени пользователя "guru99" и пароля.

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

ПРИМЕР 2: Войдите в Facebook и проверьте заголовок

В этом примере

  • Мы откроем страницу входа в систему.
  • Заполните обязательные поля «логин» и «пароль».
  • Проверить заголовок страницы
из selenium import webdriverиз selenium.webdriver.support.ui импортировать WebDriverWait# Шаг 1) Откройте Firefoxбраузер = webdriver.Firefox ()# Шаг 2) Перейдите в Facebookbrowser.get ("http://www.facebook.com")# Шаг 3) Найдите и введите адрес электронной почты или телефон и введите парольusername = browser.find_element_by_id ("электронная почта")пароль = browser.find_element_by_id ("пройти")submit = browser.find_element_by_id ("кнопка входа")username.send_keys («ВАШ ЭЛЕКТРОННЫЙ ИДЕНТИФИКАТОР»)password.send_keys ("ВАШ ПАРОЛЬ")# Шаг 4) Нажмите "Войти".submit.click ()wait = WebDriverWait (браузер, 5)page_title = browser.titleassert page_title == "Facebook"

Снимок кода

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

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

Резюме :

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