Selenium Python Підручник з WebDriver (приклад)

⚡ Розумний підсумок

Selenium з Python поєднує бібліотеку автоматизації WebDriver з Python стислий синтаксис для тестування вебзастосунків Firefox, Chrome та Internet Explorer. У цьому посібнику налаштовується PyDev in Eclipse, пише скрипти входу та пояснює, чому команди надають перевагу Python над Java.

  • 🐍 Python Перевага: Less багатослівний синтаксис робить Selenium скрипти легше читати та підтримувати.
  • 🌐 WebDriver: Надсилає стандартні команди до Firefox, Chrome та IE незалежно від дизайну браузера.
  • 🧩 PyDev Установка: встановити PyDev плагін у Eclipse і встановіть Python перекладач.
  • ???? Скрипти входу: Знаходьте поля за ідентифікатором, надсилайте ключі та автоматично надсилайте форму.
  • ✅ Заява про право власності: WebDriverWait плюс assert перевіряє заголовок сторінки після входу в систему.
  • 🤖 AI Assist: Інструменти штучного інтелекту генерують локатори та Selenium Python скрипти зі звичайних підказок.

Selenium Python Підручник з WebDriver

Selenium з Python

Selenium опори Python і тому може бути використаний як Selenium Веб-драйвер з Python для тестування.

  • Python простий порівняно з іншими мовами програмування, маючи набагато менш багатослівний синтаксис.
  • Команда Python API дають змогу підключатися до браузера через Selenium.
  • Selenium надсилає стандарт Python команди для різних браузерів, незважаючи на відмінності в їхньому дизайні.

Можна бігати Selenium з Python сценарії для Firefox, Chrome, IE тощо на різних операційних системах.

Що таке Python?

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

Перегляньте деякі приклади в таблиці нижче.

ключове слово Сенс Використання
Еліф Інакше якщо Інакше якщо
ще Ще якщо: X; elif: Y; інше: Дж
крім Зробіть це, якщо трапляється виняток крім ValueError, a: надрукувати a
Exec Запустити рядок як Python exec 'print “hello world!”'

Що таке Selenium?

Selenium – це інструмент для тестування вашої веб-програми. Ви можете зробити це різними способами, наприклад:

  • Дозвольте йому натискати на кнопки.
  • Введіть вміст у форми.
  • Перегляньте свій сайт, щоб перевірити, чи все «ОК» і так далі.

Як встановити та налаштувати PyDev in Eclipse

PyDev є Python середовище розробки для Eclipse.

Крок 1) Перейдіть до Eclipse Marketplace. Довідка > Встановлення нового програмного забезпечення.

Встановити та налаштувати 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 Package Explorer > New.
  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

Далі створіть a 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: Знайдіть елемент текстового поля, куди потрібно написати «електронну адресу».
  • 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: Захопіть заголовок з об'єкта «браузер».
  • Code рядок 17: Перевірте захоплений рядок заголовка за допомогою «Facebook».

Чому вибрати Python над Java in Selenium

Кілька моментів, що свідчать на користь Python над Java використовувати з Selenium є:

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

Поширені запитання

Запустіть pip install selenium. Modern Selenium кораблі з Selenium Manager, який автоматично завантажує відповідний драйвер браузера, тому ручне налаштування chromedriver не потрібне.

Вебдрайвер – це Selenium інтерфейс, який керує справжнім браузером, надсилаючи команди до Firefox, Chrome або Edge для керування навігацією, кліками та введенням даних у форми.

Selenium 4 видалено find_element_by_id. Використовуйте клас By: from selenium.webdriver.common.by import By, потім driver.find_element(By.ID, “email”).

Неявне очікування опитує DOM протягом встановленого часу. Явне очікування (WebDriverWait) призупиняється, доки не буде виконано певну умову. Уникайте їх змішування, щоб запобігти непередбачуваному використанню часу.

Ні. PyDev in Eclipse є одним із варіантів. Ви також можете запустити Selenium Python скрипти в PyCharm, VS Code, або з командного рядка.

Selenium Підтримка WebDriver Firefox, Chrome, Edge, Safari та Internet Explorer. Те саме Python скрипт виконується між ними шляхом заміниping водій.

Так. Помічники зі штучним інтелектом, такі як ChatGPT, перетворюють опис тесту простою мовою на Selenium Python код, пропонувати локатори та конвертувати старі виклики find_element_by_id у синтаксис By.

Так. GitHub Copilot пропонує стабільні локатори, пояснює помилки NoSuchElementException та рекомендує явні очікування, що зменшує нестабільні тести на динамічних сторінках.

Підсумуйте цей пост за допомогою: