Selenium Python Samouczek z WebDriver (przykład)

⚡ Inteligentne podsumowanie

Selenium w Python łączy bibliotekę automatyzacji WebDriver z Python zwięzła składnia do testowania aplikacji internetowych Firefox, Chrome i Internet Explorer. Ten przewodnik konfiguruje PyDev in Eclipse, pisze skrypty logowania i wyjaśnia, dlaczego zespoły wolą Python koniec Java.

  • 🐍 Python Korzyść: Less rozwlekła składnia sprawia, że Selenium skrypty są łatwiejsze do odczytania i utrzymania.
  • 🌐 Sterownik sieciowy: Wysyła standardowe polecenia do Firefox, Chrome i IE bez względu na wygląd przeglądarki.
  • 🧩 PyDev Konfiguracja: Instalacja PyDev wtyczka w Eclipse i ustaw Python interpretator.
  • 📝 Skrypty logowania: Znajdź pola według identyfikatora, wyślij klucze i automatycznie prześlij formularz.
  • Twierdzenie tytułu: WebDriverWait plus assert weryfikuje tytuł strony po zalogowaniu.
  • 🤖 Asystent AI: Narzędzia AI generują lokalizatory i Selenium Python skrypty z prostych komunikatów.

Selenium Python Samouczek z WebDriver

Selenium w Python

Selenium wspiera Python i dlatego można je wykorzystać jako Selenium WebDriver z Python dla testów.

  • Python jest łatwy w porównaniu do innych języków programowania i ma znacznie mniej rozwlekłą składnię.
  • Python Interfejsy API umożliwiają połączenie się z przeglądarką za pośrednictwem Selenium.
  • Selenium wysyła standard Python poleceń do różnych przeglądarek, pomimo różnic w ich wyglądzie.

Możesz biegać Selenium w Python skrypty do Firefox, Chrome, IE itp. na różnych systemach operacyjnych.

Czym jest Python?

Python jest obiektowym językiem skryptowym wysokiego poziomu. Został zaprojektowany w sposób przyjazny dla użytkownika. Python Używa prostych angielskich słów kluczowych, które są łatwe do zinterpretowania. Ma mniej komplikacji składniowych niż jakikolwiek inny. język programowania.

Zobacz niektóre przykłady w poniższej tabeli.

słowo kluczowe Znaczenie Stosowanie
Elif Inaczej, jeśli Inaczej, jeśli
więcej Więcej jeśli: X; Elif: Y; jeszcze: j
z wyjątkiem Zrób to, jeśli wystąpi wyjątek z wyjątkiem błędu wartości, a: wydrukuj a
exec Uruchom ciąg jako Python exec 'drukuj „witaj świecie!”'

Czym jest Selenium?

Selenium to narzędzie do testowania aplikacji webowej. Możesz to zrobić na różne sposoby, na przykład:

  • Pozwól mu dotykać przycisków.
  • Wprowadź treść do formularzy.
  • Przejrzyj witrynę, aby sprawdzić, czy wszystko jest „w porządku” i tak dalej.

Jak zainstalować i skonfigurować PyDev in Eclipse

PyDev jest Python środowisko programistyczne dla Eclipse.

Krok 1) Iść do Eclipse Rynek. Pomoc > Zainstaluj nowe oprogramowanie.

Zainstaluj i skonfiguruj PyDev in Eclipse

Następnym krokiem jest instalacja „pydev IDE” dla Eclipse.

Krok 2) W tym kroku:

  1. Wyszukaj „http://pydev.org/updates” w sekcji Praca z, a następnie
  2. Zaznacz wszystkie elementy na liście i kliknij przycisk Dalej dwa razy.
  3. Zaakceptuj umowę licencyjną i kliknij Zakończ.

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 3) Możesz zobaczyć ostrzeżenie bezpieczeństwa. Kliknij „Zainstaluj mimo to”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 4) Ustaw preferencje, aby móc korzystać Python zgodnie z potrzebami projektu. Przejdź do Okno > Preferencje > PyDev > Tłumacz > Python Interpretator.

Zainstaluj i skonfiguruj PyDev in Eclipse

Ustaw wartość domyślną Python Tłumacz, tak jak ustawiłeś Java kompilator do uruchamiania Java Aby zmienić nazwę interpretera, kliknij przycisk „Przeglądaj w poszukiwaniu pliku python/pypy.exe”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 5) W tym kroku podaj „nazwę interpretera” i ścieżkę do pliku „exe”. Python.

  1. Kliknij „Przeglądaj” i znajdź plik python.exe w miejscu, w którym zainstalowałeś Python.
  2. Kliknij przycisk „OK”.
  3. Zaznacz wszystkie foldery i kliknij OK.
  4. Kliknij „Zastosuj i zamknij”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 6) Utwórz nowy projekt w Python. W tym kroku:

  1. kliknij prawym przyciskiem myszy PyDev Eksplorator pakietów > Nowy.
  2. Wybierz opcję inne.

Zainstaluj i skonfiguruj PyDev in Eclipse

  1. Wybierz "PyDev > PyDev Projekt".
  2. Naciśnij przycisk „Dalej”.

Zainstaluj i skonfiguruj PyDev in Eclipse

  1. Nazwij swój projekt.
  2. Kliknij „Zakończ”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Możesz zobaczyć nowe Python (PyDev) projekt został utworzony.

Krok 7) Po utworzeniu 'PyDev Projekt”, utworzysz nowy Python pakiet.

  1. Kliknij prawym przyciskiem myszy Projekt > Nowy > PyDev Pakiet.
  2. Nadaj pakietowi nazwę i kliknij Zakończ.

Zainstaluj i skonfiguruj PyDev in Eclipse

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 8) Jak widać na poniższym zrzucie ekranu, został utworzony nowy pakiet.

Zainstaluj i skonfiguruj PyDev in Eclipse

Następnie utwórz plik PyDev moduł. Moduł zawiera Python pliki do inicjalizacji, których funkcje można zaimportować do innego modułu, unikając w ten sposób ponownego przepisywania programu.

Krok 9) Stwórz nowy PyDev moduł. Kliknij prawym przyciskiem myszy pakiet > Nowy > PyDev moduł.

Zainstaluj i skonfiguruj PyDev in Eclipse

Nadaj nazwę modułowi i kliknij „Zakończ”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Wybierz Pusty szablon i kliknij „OK”.

Zainstaluj i skonfiguruj PyDev in Eclipse

Krok 10) Napisz swój kod dla Selenium w Python jak pokazano poniżej.

Zainstaluj i skonfiguruj PyDev in Eclipse

Jak tworzyć skrypty testowe w Selenium w Python

W tym Selenium WebDriver z Python na przykład zautomatyzowaliśmy „stronę logowania na Facebooku” za pomocą Firefox kierowca.

Selenium w Python Przykład 1: Zaloguj się do Facebooka

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()

Migawka Code

Utwórz skrypty testowe w Selenium w Python

Wyjaśnienie kodu

  • Code linia 1: Z modułu selenu zaimportuj webdriver.
  • Code linia 2: Z modułu selenu zaimportuj klucze.
  • Code linia 3: user_name to zmienna służąca do przechowywania wartości nazwy użytkownika.
  • Code linia 4: Zmienna „password” będzie używana do przechowywania wartości hasła.
  • Code linia 5: Zainicjuj „Firefox”, czyniąc z tego przedmiot.
  • Code linia 6: Metoda „driver.get” przechodzi do strony podanej przez URL. WebDriver czeka, aż strona zostanie w pełni załadowana, zanim przekaże kontrolę skryptowi.
  • Code linia 7: Znajdź element pola tekstowego, w którym należy wpisać słowo „e-mail”.
  • Code linia 8: Wyślij wartości do sekcji e-mail.
  • Code linia 9: To samo dotyczy hasła.
  • Code linia 10: Wyślij wartości do sekcji hasła.
  • Code linia 11: element.send_keys(Keys.RETURN) naciska enter po wstawieniu wartości.
  • Code linia 12: Zamknij.

Wyjście: Wprowadzono nazwę użytkownika „guru99” i hasło.

Utwórz skrypty testowe w Selenium w Python

Zaloguj się na stronę na Facebooku, podając adres e-mail i hasło. Strona została otwarta (patrz obrazek poniżej).

Utwórz skrypty testowe w Selenium w Python

Selenium w Python Przykład 2: Zaloguj się do Facebooka i sprawdź tytuł

W tym przykładzie otworzymy stronę logowania, wypełnimy wymagane pola „nazwa użytkownika” i „hasło” i sprawdzimy tytuł strony.

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"

Zrzut kodu

Utwórz skrypty testowe w Selenium w Python

Wyjaśnienie kodu:

  • Code wiersz 1-2: Importuj pakiety selenu.
  • Code linia 4: Inicjalizacja Firefox poprzez utworzenie obiektu.
  • Code linia 6: Otwórz stronę logowania (Facebook).
  • Code wiersz 8-10: Pobierz pola do wprowadzania nazwy użytkownika, hasła i przycisku Prześlij.
  • Code wiersz 11-12: Wprowadź dane w polach wprowadzania nazwy użytkownika i hasła.
  • Code linia 14: Kliknij przycisk „Prześlij”.
  • Code linia 15: Utwórz obiekt oczekiwania z limitem czasu wynoszącym 5 sekund.
  • Code linia 16: Przechwyć tytuł z obiektu „przeglądarki”.
  • Code linia 17: Przetestuj przechwycony ciąg tytułu z „Facebook”.

Dlaczego wybrać? Python koniec Java in Selenium

Kilka punktów, które przemawiają za Python koniec Java do użytku z Selenium należą:

  1. Java programy zwykle działają wolniej w porównaniu do Python programy.
  2. Java używa tradycyjnych nawiasów klamrowych do rozpoczynania i kończenia bloków, podczas gdy Python używa wcięcia.
  3. Java wykorzystuje statyczny typping, podczas Python jest wpisywany dynamicznie.
  4. Python jest prostszy i bardziej kompaktowy w porównaniu do Java.

FAQ

Uruchom pip install selenium. Nowoczesne Selenium statki z Selenium Menedżer, który automatycznie pobiera odpowiedni sterownik przeglądarki, dzięki czemu nie jest wymagana ręczna konfiguracja chromedriver.

WebDriver to Selenium interfejs, który obsługuje prawdziwą przeglądarkę, wysyłając polecenia do Firefox, Chrome lub Edge do sterowania nawigacją, kliknięciami i wprowadzaniem danych w formularzach.

Selenium 4 usunięto find_element_by_id. Użyj klasy By: z selenium.webdriver.common.by zaimportuj By, a następnie driver.find_element(By.ID, „email”).

Niejawne polecenie wait odpytuje DOM przez określony czas. Jawne polecenie wait (WebDriverWait) wstrzymuje działanie do momentu spełnienia określonego warunku. Unikaj ich mieszania, aby uniknąć nieprzewidywalnego czasu reakcji.

Nie. PyDev in Eclipse to jedna z opcji. Możesz również uruchomić Selenium Python skrypty w PyCharm, VS Codelub z wiersza poleceń.

Selenium WebDriver obsługuje Firefox, Chrome, Edge, Safari i Internet Explorer. To samo Python skrypt działa na nich poprzez zamianęping Kierowca.

Tak. Asystenci AI, tacy jak ChatGPT, zamieniają opis testu w prostym języku na Selenium Python kod, zasugeruj lokalizatory i przekonwertuj stare wywołania find_element_by_id na składnię By.

Tak. GitHub Copilot sugeruje stabilne lokalizatory, wyjaśnia błędy NoSuchElementException i zaleca jawne oczekiwanie, co zmniejsza ryzyko niestabilnych testów na stronach dynamicznych.

Podsumuj ten post następująco: