Selenium Python Tutoriel avec WebDriver (Exemple)

โšก Rรฉsumรฉ intelligent

Selenium au Python associe la bibliothรจque d'automatisation WebDriver ร  Python Syntaxe concise pour tester les applications web sur FirefoxChrome et Internet Explorer. Ce guide de configuration PyDev in Eclipse, rรฉdige des scripts de connexion et explique pourquoi les รฉquipes prรฉfรจrent Python plus de Java.

  • (I.e. Python Avantage: Less une syntaxe verbeuse rend Selenium Des scripts plus faciles ร  lire et ร  maintenir.
  • ๐ŸŒ Pilote Web : Envoie des commandes standard ร  Firefox, Chrome et IE, quelle que soit la conception du navigateur.
  • ๐Ÿงฉ PyDev Installer: Installez l' PyDev plug-in dans Eclipse et dรฉfinissez le Python interprรจte.
  • ๐Ÿ“ Scripts de connexion : Localisez les champs par ID, envoyez les clรฉs et soumettez le formulaire automatiquement.
  • โœ… Affirmation du titre : WebDriverWait plus assert vรฉrifie le titre de la page aprรจs la connexion.
  • ๐Ÿค– Assistance IA : Les outils d'IA gรฉnรจrent des localisateurs et Selenium Python scripts ร  partir d'invites simples.

Selenium Python Tutoriel avec WebDriver

Selenium au Python

Selenium supports Python et peut donc รชtre utilisรฉ comme Selenium WebDriver avec Python pour tester.

  • Python Il est facile comparรฉ ร  d'autres langages de programmation, car sa syntaxe est beaucoup moins verbeuse.
  • Le Python Les API vous permettent de vous connecter au navigateur via Selenium.
  • Selenium envoie la norme Python des commandes destinรฉes ร  diffรฉrents navigateurs, malgrรฉ les diffรฉrences de conception de ces derniers.

Tu peux courir Selenium au Python des scripts pour Firefox, Chrome, IE, etc. sur diffรฉrents systรจmes d'exploitation.

Qu'est-ce que le Python?

Python est un langage de script orientรฉ objet de haut niveau. Il est conรงu de maniรจre conviviale. Python utilise des mots-clรฉs anglais simples, faciles ร  interprรฉter. Sa syntaxe est moins complexe que celle de tout autre systรจme. langage de programmation.

Voir quelques exemples dans le tableau ci-dessous.

Mots-clรฉs Sens Utilisation
Elif Sinon si Sinon si
d'autre Else si : X ; elif : Oui ; sinon : J
sauf Procรฉdez ainsi si une exception se produit. sauf ValueError, a : imprimer un
exec Exรฉcuter la chaรฎne comme Python exec 'imprimer "bonjour tout le monde !"'

Qu'est-ce que le Selenium?

Selenium est un outil permettant de tester votre application web. Vous pouvez le faire de diffรฉrentes maniรจres, par exemple :

  • Autorisez-le ร  appuyer sur les boutons.
  • Saisissez le contenu dans les formulaires.
  • Parcourez votre site pour vรฉrifier si tout va bien, etc.

Comment installer et configurer PyDev in Eclipse

PyDev est le Python environnement de dรฉveloppement pour Eclipse.

ร‰tape 1) Allez dans Eclipse Place de marchรฉ. Aide > Installer un nouveau logiciel.

Installer et configurer PyDev in Eclipse

L'รฉtape suivante consiste ร  installer l'IDE ยซ pydev ยป pour Eclipse.

ร‰tape 2) Dans cette รฉtape :

  1. Recherchez ยซ http://pydev.org/updates ยป dans la section ยซ Travailler avec ยป, puis
  2. Sรฉlectionnez tous les รฉlรฉments listรฉs et cliquez deux fois sur Suivant.
  3. Acceptez le contrat de licence et cliquez sur Terminer.

Installer et configurer PyDev in Eclipse

ร‰tape 3) Vous pourriez rencontrer un avertissement de sรฉcuritรฉ. Cliquez sur ยซ Installer quand mรชme ยป.

Installer et configurer PyDev in Eclipse

ร‰tape 4) Dรฉfinissez vos prรฉfรฉrences pour pouvoir utiliser Python conformรฉment aux besoins du projet. Allez dans Fenรชtre > Prรฉfรฉrences > PyDev > Interprรจte > Python Interprรจte.

Installer et configurer PyDev in Eclipse

Dรฉfinir la valeur par dรฉfaut Python Interprรจte, tout comme vous avez dรฉfini le Java compilateur pour l'exรฉcution Java Pour modifier le nom de l'interprรฉteur, cliquez sur le bouton ยซ Rechercher un fichier exe Python/PyPy ยป.

Installer et configurer PyDev in Eclipse

ร‰tape 5) Dans cette รฉtape, donnez le ยซ nom de lโ€™interprรจte ยป et le chemin du fichier ยซ exe ยป de Python.

  1. Cliquez sur ยซ Parcourir ยป et recherchez python.exe oรน vous l'avez installรฉ Python.
  2. Cliquez sur le bouton ยซOKยป.
  3. Sรฉlectionnez tous les dossiers et cliquez sur OK.
  4. Cliquez sur ยซ Appliquer et fermer ยป.

Installer et configurer PyDev in Eclipse

ร‰tape 6) Crรฉez un nouveau projet dans PythonDans cette รฉtape :

  1. Clic-droit PyDev Explorateur de packages > Nouveau.
  2. Sรฉlectionnez l'option autres.

Installer et configurer PyDev in Eclipse

  1. Sรฉlectionnez "PyDev > PyDev Projet".
  2. Appuyez sur le bouton ยซ Suivant ยป.

Installer et configurer PyDev in Eclipse

  1. Nommez votre projet.
  2. Cliquez sur ยซTerminerยป.

Installer et configurer PyDev in Eclipse

Vous pouvez voir le nouveau Python (PyDev) le projet est crรฉรฉ.

ร‰tape 7) Aprรจs avoir crรฉรฉ le ยซPyDev Projet', vous allez crรฉer un nouveau Python paquet.

  1. Faites un clic droit sur Projet > Nouveau > PyDev Paquet.
  2. Nommez votre colis et cliquez sur Terminer.

Installer et configurer PyDev in Eclipse

Installer et configurer PyDev in Eclipse

ร‰tape 8) Comme vous pouvez le voir sur la capture d'รฉcran ci-dessous, un nouveau paquet est crรฉรฉ.

Installer et configurer PyDev in Eclipse

Ensuite, crรฉez un PyDev module. Le module contient Python Des fichiers d'initialisation dont les fonctions peuvent รชtre importรฉes dans un autre module, รฉvitant ainsi de rรฉรฉcrire le programme.

ร‰tape 9) Crรฉer un nouveau PyDev module. Faites un clic droit sur le package > Nouveau > PyDev module.

Installer et configurer PyDev in Eclipse

Nommez votre module et cliquez sur ยซ Terminer ยป.

Installer et configurer PyDev in Eclipse

Sรฉlectionnez le modรจle vide et cliquez sur ยซ OK ยป.

Installer et configurer PyDev in Eclipse

ร‰tape 10) ร‰crivez votre code pour Selenium au Python comme indiquรฉ ci-dessous.

Installer et configurer PyDev in Eclipse

Comment crรฉer des scripts de test dans Selenium au Python

Dans ce nouvel article concernant notre nouveau projet Selenium WebDriver avec Python Par exemple, nous avons automatisรฉ la page de connexion Facebook en utilisantโ€ฆ Firefox chauffeur.

Selenium au Python Exemple 1 : Connectez-vous ร  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()

Instantanรฉ du Code

Crรฉer des scripts de test dans Selenium au Python

Explication du code

  • Code ligne 1: Depuis le module Selenium, importez webdriver.
  • Code ligne 2: Depuis le module Selenium, importez Keys.
  • Code ligne 3: user_name est une variable utilisรฉe pour stocker la valeur du nom d'utilisateur.
  • Code ligne 4: La variable ยซ password ยป sera utilisรฉe pour stocker la valeur du mot de passe.
  • Code ligne 5: Initialiser ยซFirefoxยป en en faisant un objet.
  • Code ligne 6: La mรฉthode ยซ driver.get ยป permet d'accรฉder ร  la page fournie par le URLWebDriver attend que la page soit entiรจrement chargรฉe avant de rendre le contrรดle ร  votre script.
  • Code ligne 7: Trouvez l'รฉlรฉment de zone de texte oรน le champ ยซ e-mail ยป doit รชtre saisi.
  • Code ligne 8: Envoyez les valeurs dans la section courriel.
  • Code ligne 9: Idem pour le mot de passe.
  • Code ligne 10: Veuillez envoyer les valeurs ร  la section mot de passe.
  • Code ligne 11: element.send_keys(Keys.RETURN) appuie sur Entrรฉe une fois les valeurs insรฉrรฉes.
  • Code ligne 12: Fermer.

Sortie : Les valeurs du nom d'utilisateur ยซ guru99 ยป et du mot de passe sont saisies.

Crรฉer des scripts de test dans Selenium au Python

La page Facebook s'ouvrira avec l'adresse e-mail et le mot de passe. Page ouverte (voir image ci-dessous).

Crรฉer des scripts de test dans Selenium au Python

Selenium au Python Exemple 2 : Connectez-vous ร  Facebook et vรฉrifiez le titre

Dans cet exemple, nous allons ouvrir une page de connexion, remplir les champs obligatoires ยซ nom dโ€™utilisateur ยป et ยซ mot de passe ยป, et vรฉrifier le titre de la page.

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"

Aperรงu du code

Crรฉer des scripts de test dans Selenium au Python

Explication du code :

  • Code lignes 1-2 : Importer les packages Selenium.
  • Code ligne 4: Initialiser Firefox en crรฉant un objet.
  • Code ligne 6: Obtenez la page de connexion (Facebook).
  • Code lignes 8-10 : Rรฉcupรฉrer les champs de saisie du nom d'utilisateur et du mot de passe, ainsi que le bouton ยซ Soumettre ยป.
  • Code lignes 11-12 : Saisissez les donnรฉes dans les champs nom d'utilisateur et mot de passe.
  • Code ligne 14: Cliquez sur le bouton ยซSoumettreยป.
  • Code ligne 15: Crรฉez un objet d'attente avec un dรฉlai d'expiration de 5 secondes.
  • Code ligne 16: Rรฉcupรฉrez le titre ร  partir de lโ€™objet ยซ navigateur ยป.
  • Code ligne 17: Tester la chaรฎne de titre capturรฉe avec ยซ Facebook ยป.

Pourquoi choisir Python plus de Java in Selenium

Quelques points favorables Python plus de Java ร  utiliser avec Selenium sont:

  1. Java les programmes ont tendance ร  fonctionner plus lentement que Python programmes.
  2. Java utilise des accolades traditionnelles pour les blocs de dรฉbut et de fin, tandis que Python utilise l'indentation.
  3. Java utilise des types statiquesping, tandis que Python est typรฉ dynamiquement.
  4. Python est plus simple et plus compact par rapport ร  Java.

FAQ

Exรฉcutez pip install selenium. Moderne Selenium livrรฉ avec Selenium Le gestionnaire tรฉlรฉcharge automatiquement le pilote de navigateur correspondant, ce qui รฉvite d'avoir ร  configurer manuellement chromedriver.

WebDriver est le Selenium interface qui pilote un vรฉritable navigateur, envoyant des commandes ร  Firefox, Chrome ou Edge pour contrรดler la navigation, les clics et la saisie de formulaires.

Selenium 4. La fonction find_element_by_id a รฉtรฉ supprimรฉe. Utilisez la classe By : from selenium.webdriver.common.by import By, puis driver.find_element(By.ID, โ€œemailโ€).

L'attente implicite interroge le DOM pendant une durรฉe dรฉterminรฉe. L'attente explicite (WebDriverWait) suspend l'exรฉcution jusqu'ร  ce qu'une condition spรฉcifique soit remplie. ร‰vitez de les combiner pour prรฉvenir tout comportement imprรฉvisible.

Non. PyDev in Eclipse est une option. Vous pouvez รฉgalement exรฉcuter Selenium Python scripts dans PyCharm, VS Code, ou depuis la ligne de commande.

Selenium WebDriver prend en charge FirefoxChrome, Edge, Safari et Internet Explorer. Idem. Python Le script les traverse par รฉchangeping le conducteur.

Oui. Les assistants IA comme ChatGPT transforment une description de test en langage clair en Selenium Python code, suggรฉrer des localisateurs et convertir les anciens appels find_element_by_id en syntaxe By.

Oui. GitHub Copilot suggรจre des localisateurs stables, explique les erreurs NoSuchElementException et recommande des attentes explicites, rรฉduisant ainsi les tests instables sur les pages dynamiques.

Rรฉsumez cet article avec :