Selenium Python Урок с WebDriver (Пример)

⚡ Умно обобщение

Selenium с Python сдвоява библиотеката за автоматизация WebDriver с Python кратък синтаксис за тестване на уеб приложения в Firefox, Chrome и Internet Explorer. Това ръководство конфигурира PyDev in Eclipse, пише скриптове за вход и обяснява защо екипите предпочитат Python над Java.

  • 🐍 Python Предимство: Less многословният синтаксис прави Selenium скриптове, по-лесни за четене и поддръжка.
  • 🌐 Уебдрайвер: Изпраща стандартни команди до Firefox, Chrome и IE, независимо от дизайна на браузъра.
  • 🧩 PyDev Setup: Инсталирайте 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 “здравей свят!”'

Какво е 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. Щракнете върху бутона „OK“.
  3. Изберете всички папки и щракнете върху OK.
  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. Щракнете с десния бутон върху Project > New > PyDev Пакет.
  2. Дайте име на пакета си и щракнете върху „Готово“.

Инсталирайте и конфигурирайте PyDev in Eclipse

Инсталирайте и конфигурирайте PyDev in Eclipse

Стъпка 8) Ако видите на екранната снимка по-долу, е създаден нов пакет.

Инсталирайте и конфигурирайте PyDev in Eclipse

След това създайте a PyDev модул. Модулът съдържа Python файлове за инициализация, чиито функции могат да бъдат импортирани в друг модул, като се избягва пренаписването на програмата.

Стъпка 9) Създайте нов PyDev модул. Щракнете с десния бутон върху пакета > Нов > PyDev модул.

Инсталирайте и конфигурирайте PyDev in Eclipse

Дайте име на модула си и кликнете върху „Готово“.

Инсталирайте и конфигурирайте PyDev in Eclipse

Изберете „Празен шаблон“ и щракнете върху „OK“.

Инсталирайте и конфигурирайте 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: Импортиране на пакети от селен.
  • 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 използва статично typing, Докато 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 скриптът се изпълнява през тях чрез swapping шофьорът.

Да. Асистенти с изкуствен интелект, като ChatGPT, превръщат описанието на теста на разбираем език в Selenium Python код, предлагане на локатори и конвертиране на стари извиквания на find_element_by_id в синтаксис By.

Да. GitHub Copilot предлага стабилни локатори, обяснява грешките NoSuchElementException и препоръчва изрични изчаквания, намалявайки нестабилните тестове на динамични страници.

Обобщете тази публикация с: