Selenium Webdriver avec Python: tutoriel avec exemple

Table des matières:

Anonim

Selenium prend en charge Python et peut donc être utilisé comme Selenium WebDriver avec Python pour les tests.

  • Python est facile par rapport à d'autres langages de programmation, car il est beaucoup moins détaillé.
  • Les API Python vous permettent de vous connecter au navigateur via Selenium.
  • Selenium envoie les commandes Python standard à différents navigateurs, malgré des variations dans la conception de leur navigateur.

Vous pouvez exécuter Selenium avec des scripts Python pour Firefox, Chrome, IE, etc. sur différents systèmes d'exploitation.

Dans ce didacticiel Selenium Python, vous apprendrez-

  • Qu'est-ce que Python?
  • Qu'est-ce que le sélénium?
  • Pourquoi choisir Python plutôt que Java dans Selenium
  • Comment installer et configurer PyDev dans Eclipse
  • Comment créer des scripts de test dans Selenium avec Python

Qu'est-ce que 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. Il a moins de complications de syntaxe que tout autre langage de programmation.

Voir quelques exemples dans le tableau ci-dessous.

Mot-clé Sens Usage
elif Sinon si Sinon si
autre Autre si: X; elif: Y; sinon: J
sauf faites ceci, si une exception se produit, sauf ValueError, a: print a
exec Exécutez la chaîne en tant que Python exec 'print "bonjour le monde!"'

Qu'est-ce que le sélénium?

Selenium est un outil pour tester votre application web. Vous pouvez le faire de différentes manières, par exemple

  • Permettez-lui de taper sur les boutons
  • Entrez le contenu dans les structures
  • Parcourez votre site pour vérifier si tout est "OK" et ainsi de suite.

Pourquoi choisir Python plutôt que Java dans Selenium

Peu de points qui favorisent Python par rapport à Java à utiliser avec Selenium sont,

  1. Les programmes Java ont tendance à s'exécuter plus lentement que les programmes Python.
  2. Java utilise des accolades traditionnelles pour démarrer et terminer les blocs, tandis que Python utilise l'indentation.
  3. Java utilise le typage statique, tandis que Python est typé dynamiquement.
  4. Python est plus simple et plus compact que Java.

Comment installer et configurer PyDev dans Eclipse

PyDev est l'environnement de développement Python pour Eclipse.

Étape 1) Accédez à Eclipse Marketplace. Aide> Installer un nouveau logiciel

L'étape suivante consiste à installer "pydev IDE" pour eclipse.

Étape 2) Dans cette étape,

  1. Recherchez "http://pydev.org/updates" dans Travailler avec, puis
  2. Sélectionnez tous les éléments répertoriés et cliquez deux fois sur Suivant
  3. Acceptez le contrat de licence et cliquez sur Terminer.

Étape 3) Vous pouvez rencontrer un avertissement de sécurité, cliquez sur "Installer quand même".

Étape 4) Maintenant , dans cette étape, vous allez définir les préférences. Avec l'aide de l'option de préférence, vous pouvez utiliser Python selon les besoins du projet.

Allez dans Fenêtre> Préférences> PyDev> Interpréteur> Interpréteur Python.

Définissons l'interpréteur Python par défaut. C'est comme si vous deviez définir le compilateur java pour exécuter un code Java. Pour changer le nom de l'interpréteur, cliquez sur le bouton Rechercher python / pypy exe.

Étape 5) Dans cette étape, donnez le "nom de l'interpréteur" et le chemin du fichier "exe" de Python.

  1. Cliquez sur «Parcourir» et recherchez python.exe où vous avez installé Python.
  2. Cliquez sur le bouton «OK».
  3. Sélectionnez tout le dossier et cliquez sur OK
  4. Cliquez sur «Appliquer et fermer».

Étape 6) Créez un nouveau projet en Python. Dans cette étape,

  1. Cliquez avec le bouton droit sur Explorateur de packages PyDev> Nouveau.
  2. Sélectionnez l'option autres.

  1. Sélectionnez "PyDev> Projet PyDev".
  2. Appuyez sur le bouton «Suivant».

  1. Nommez votre projet
  2. Cliquez sur "Terminer".

Vous pouvez voir que le nouveau projet Python (PyDev) est créé.

Étape 7) Dans cette étape,

Après avoir créé 'PyDev Project', vous allez créer un nouveau package Python.

  1. Cliquez avec le bouton droit sur Projet> Nouveau> Package PyDev.
  2. Nommez votre package et cliquez sur Terminer.

Étape 8) Si vous voyez dans la capture d'écran ci-dessous, un nouveau package est créé.

Après avoir créé un nouveau package, l'étape suivante consiste à créer le module PyDev. Le module contient des fichiers Python pour l'initialisation. Ces fichiers ou fonctions du module peuvent être importés dans un autre module. Il ne sera donc pas nécessaire de réécrire le programme à nouveau.

Étape 9) Créez un nouveau module PyDev. Faites un clic droit sur package> Nouveau> Module PyDev.

Nommez votre module et cliquez sur «Terminer».

Sélectionnez Modèle vide et cliquez sur "OK".

Étape 10) Écrivez votre code pour Selenium avec Python comme indiqué ci-dessous

Comment créer des scripts de test dans Selenium avec Python

Dans cet exemple Selenium WebDriver avec Python, nous avons automatisé la "page de connexion Facebook" à l'aide du pilote Firefox.

Exemple 1 de Selenium Python: Connectez-vous à Facebook

depuis le webdriver d'importation de séléniumà partir de sélénium.webdriver.common.keys importer des clésuser_name = "VOTRE EMAILID"password = "VOTRE MOT DE PASSE"pilote = webdriver.Firefox ()driver.get ("https://www.facebook.com")element = driver.find_element_by_id ("email")element.send_keys (nom_utilisateur)element = driver.find_element_by_id ("passer")element.send_keys (mot de passe)element.send_keys (Keys.RETURN)element.close ()

Aperçu du code

Explication du code

  • Ligne de code 1 : à partir du pilote Web d'importation du module sélénium
  • Ligne de code 2 : à partir des clés d'importation du module sélénium
  • Ligne de code 3 : User est une variable qui nous servira à stocker les valeurs du nom d'utilisateur.
  • Ligne de code 4 : La variable «mot de passe» sera utilisée pour stocker les valeurs du mot de passe.
  • Ligne de code 5 : Dans cette ligne, nous initialisons "FireFox" en en faisant un objet.
  • Ligne de code 6 : La "méthode driver.get" naviguera vers une page donnée par l'URL. WebDriver attendra que la page soit complètement chargée (c'est-à-dire que l'occasion "onload" a lâché prise), avant de rendre le contrôle à votre test ou script.
  • Ligne de code 7 : Dans cette ligne, nous trouvons l'élément de la zone de texte où «l'email» doit être écrit.
  • Ligne de code 8 : Nous envoyons maintenant les valeurs à la section e-mail
  • Ligne de code 9 : Idem pour le mot de passe
  • Ligne de code 10 : Envoi des valeurs à la section mot de passe
  • Ligne de code 11 : element.send_keys (Keys.RETURN) est utilisé pour appuyer sur Entrée après l'insertion des valeurs
  • Ligne de code 12 : Fermer

PRODUCTION

Les valeurs du nom d'utilisateur "guru99" et du mot de passe saisis.

La page Facebook se connectera avec e-mail et mot de passe. Page ouverte (voir image ci-dessous)

EXEMPLE 2: Connectez-vous à Facebook et vérifiez le titre

Dans cet exemple,

  • Nous allons ouvrir une page de connexion.
  • Remplissez les champs obligatoires "nom d'utilisateur" et "mot de passe".
  • Vérifier le titre de la page
depuis le webdriver d'importation de séléniumdepuis selenium.webdriver.support.ui import WebDriverWait# Étape 1) Ouvrez Firefoxnavigateur = pilote Web.Firefox ()# Étape 2) Accédez à Facebookbrowser.get ("http://www.facebook.com")# Étape 3) Recherchez et entrez le champ Email ou Téléphone et entrez le mot de passeusername = browser.find_element_by_id ("email")password = browser.find_element_by_id ("pass")submit = browser.find_element_by_id ("bouton de connexion")username.send_keys ("VOTRE EMAILID")password.send_keys ("VOTRE MOT DE PASSE")# Étape 4) Cliquez sur Connexionsubmit.click ()wait = WebDriverWait (navigateur, 5)page_title = browser.titleassert page_title == "Facebook"

Instantané du code

Explication du code:

  • Ligne de code 1-2: Importer des paquets de sélénium
  • Ligne de code 4: initialisez Firefox en créant un objet
  • Ligne de code 6: Obtenez la page de connexion (Facebook)
  • Ligne de code 8-10: Récupérez le nom d'utilisateur, les boîtes de saisie du mot de passe et le bouton d'envoi.
  • Ligne de code 11-12: saisissez les données dans les zones de saisie du nom d'utilisateur et du mot de passe
  • Ligne de code 14: Cliquez sur le bouton «Soumettre»
  • Ligne de code 15: Créez un objet d'attente avec un délai d'expiration de 5 s.
  • Ligne de code 16: Capture du titre à partir de l'objet "navigateur".
  • Ligne de code 17: test de la chaîne de titre capturée avec "Facebook"

Résumé :

  • Selenium est un outil d'automatisation Web open source.
  • Le langage Python est utilisé avec Selenium pour les tests. Il est beaucoup moins verbeux et facile à utiliser que tout autre langage de programmation
  • Les API Python vous permettent de vous connecter au navigateur via Selenium
  • Selenium peut envoyer les commandes Python standard à différents navigateurs, malgré les variations dans la conception de leur navigateur.