Selenium WebDriver у поєднанні з Python є одним із найпопулярніших інструментів для автоматизації тестування веб-додатків. У цьому дописі ми розглянемо як підготувати середовище для розробки, створити перший тест і запустити його.
Що таке Selenium
Selenium – це популярна бібліотека для автоматизації роботи з веб-браузерами. Вона дозволяє імітувати дії користувача на веб-сторінках: вводити текст, натискати кнопки, перевіряти вміст сторінки та виконувати інші дії, які зазвичай робить людина вручну.
Підготовка середовища
Цей розділ передбачає, що Python вже встановлено у системі. Якщо ні – його можна завантажити з https://www.python.org/ та встановити, додавши до змінної PATH.
Для ізоляції залежностей рекомендується використовувати віртуальне оточення Python (наприклад virtualenv) разом із менеджером пакетів pip. Віртуальне оточення дозволяє створити незалежний простір для проекту, де всі бібліотеки встановлюються окремо від системних. Це допомагає уникнути конфліктів між залежностями різних проектів.
У директорії проекту з тестами необхідно створити віртуальне оточення та активувати його:
python -m venv venv
source venv/bin/activate # для Windows: venv\Scripts\activateДалі потрібно встановити бібліотеку Selenium:
pip install seleniumПеревірити версію Selenium та іншу мета інформацію можна виконавши команду:
pip show selenium
# Output:
# Name: selenium
# Version: 4.34.2
# Summary: Official Python bindings for Selenium WebDriver
# Home-page: https://www.selenium.dev
# ....Примітка: Раніше для взаємодії Selenium з браузером потрібно було вручну завантажувати й налаштовувати веб-драйвер (наприклад ChromeDriver). Починаючи з версії Selenium 4.6, цей крок більше не потрібен: вбудований Selenium Manager автоматично підбирає драйвер, завантажує його за потреби та налаштовує шлях до нього, щоб тест мав змогу одразу взаємодіяти з браузером без додаткових кроків.
Створення та запуск першого тесту
Для тесту я буду використовувати тестову сторінку Example Domain:

Що робить тест:
- відкриває https://example.com
- шукає заголовок і перевіряє його текст
- шукає перше посилання і перевіряє його текст
- завершує роботу браузера
Модуль з тестом test_example_com.py:
from selenium import webdriver
from selenium.webdriver.common.by import By
# Створення екземпляра драйвера для браузера Chrome
driver = webdriver.Chrome()
# Відкриття сторінки example.com у браузері
driver.get('https://example.com')
# Перевірка наявності заголовка <h1> на сторінці
header = driver.find_element(By.TAG_NAME, 'h1')
print(f'Заголовок сторінки: {header.text}')
assert header.text == 'Example Domain', 'Заголовок не співпадає!'
# Перевірка наявності посилання "More information..." на сторінці
link = driver.find_element(By.CSS_SELECTOR, 'a')
print(f'Текст посилання: {link.text}')
assert 'More information' in link.text, 'Посилання не знайдено!'
# Закриття драйвера (і браузера)
driver.quit()Щоб запустити тест, відкрийте термінал, перейдіть у директорію з вашим модулем що містить тест і виконайте наступну команду:
python test_example_com.pyРезультат виконання:
Заголовок сторінки: Example Domain
Текст посилання: More information...Підсумок
Selenium у поєднанні з Python дозволяє швидко створювати ефективні автоматизовані тести, які сприяють підвищенню якості веб-додатків. Наведений вище приклад демонструє базовий сценарій, з якого можна розпочати знайомство з цим інструментом. Докладніше ознайомитись з можливостями Selenium можна в офіційній документації.