Tutoriel Python Sélénium
Selenium est un outil puissant pour contrôler les navigateurs Web via des programmes et effectuer l'automatisation du navigateur. Il est fonctionnel pour tous les navigateurs, fonctionne sur tous les principaux systèmes d'exploitation et ses scripts sont écrits dans différentes langues, c'est-à-dire Python , Java , C# , etc., nous travaillerons avec Python. Le didacticiel Selenium couvre tous les sujets tels que – WebDriver, WebElement, tests unitaires avec Selenium. Ce didacticiel Python Selenium couvre Selenium des bases aux utilisations avancées et professionnelles.
Pourquoi apprendre Selenium Python ?
- Open Source et portable – Selenium est un framework de test Web open source et portable.
- Combinaison d'outil et de DSL – Selenium est une combinaison d’outils et de DSL (Domain Specific Language) afin de réaliser différents types de tests.
- Plus facile à comprendre et à mettre en œuvre – Les commandes Selenium sont classées en termes de différentes classes, ce qui facilite leur compréhension et leur mise en œuvre.
- Moins de charge et de stress pour les testeurs – Comme mentionné ci-dessus, le temps nécessaire pour tester des scénarios de tests répétés sur chaque nouvelle version est presque réduit à zéro. Par conséquent, la charge de travail du testeur est réduite.
- Réduction des coûts pour les clients professionnels – L'entreprise doit payer aux testeurs leur salaire, qui est économisé grâce à l'outil de test d'automatisation. L'automatisation permet non seulement de gagner du temps, mais génère également des avantages en termes de coûts pour l'entreprise.
L'apprentissage de Selenium avec Python ouvre de nombreuses possibilités pour des tests d'applications Web efficaces et efficients, en particulier lorsqu'il est associé à des plates-formes de test cloud populaires telles que LambdaTest.
Test Lambda est une plate-forme d'orchestration et d'exécution de tests basée sur l'IA qui permet aux développeurs et aux testeurs d'effectuer des tests Selenium Python à grande échelle dans un laboratoire de test à distance de plus de 3 000 navigateurs de bureau et systèmes d'exploitation réels. Avec Selenium Python, vous pouvez écrire des scripts de test robustes pour automatiser les tests d'applications Web, garantissant ainsi leur fonctionnalité sur différents navigateurs et plates-formes. Les développeurs et les testeurs peuvent même exécuter des tests en parallèle sur plusieurs combinaisons, ce qui les aide à livrer des versions de qualité à une vitesse légère.
Bases du sélénium
- Bases du sélénium
- Composants du sélénium
- Applications et utilisations
- Caractéristiques
- Limites
Notions de base sur Selenium Python
- Introduction et installation de Selenium Python
- Navigation dans les liens à l'aide de la méthode get
- Interagir avec la page Web
- Localisation d'éléments uniques
- Localisation de plusieurs éléments
- Stratégies de localisation – Selenium Python
- Écrire des tests à l'aide de Selenium Python
Stratégies de localisation
- Localisation d'éléments uniques –
- find_element_by_id()
- find_element_by_name()
- find_element_by_xpath()
- find_element_by_link_text()
- find_element_by_partial_link_text()
- find_element_by_tag_name()
- find_element_by_class_name()
- find_element_by_css_selector()
- Localisation de plusieurs éléments –
- find_elements_by_name()
- find_elements_by_xpath()
- find_elements_by_link_text()
- find_element_by_partial_link_text()
- find_elements_by_tag_name()
- find_elements_by_class_name()
- find_elements_by_css_selector()
Attend
- Attentes explicites
- Attentes implicites
- Bases des chaînes d'action
- Cliquez sur
- cliquez_et_hold
- contexte_clic
- double_cliquez
- glisser déposer
- touche Bas
- clé_up
- move_by_offset
- move_to_element
- move_to_element_with_offset
- libérer
- réinitialiser_actions
- envoyer_clés
Avancé en Selenium Python –
- Gestion des exceptions – Selenium Python
- Clés spéciales dans Selenium Python
- Comment gérer les invites d’alerte dans Selenium Python ?
- Ajout et suppression de cookies dans Selenium Python
- Comment avancer et reculer dans l'Histoire en utilisant Selenium Python ?
- Clés spéciales dans Selenium Python
- Assertion dans Selenium WebDriver à l'aide de TestNg
- Astuces Python au sélénium
- Modèle d'objet de page (POM)
Exemples de projets
- WhatsApp en utilisant Python !
- Automatisation du navigateur à l'aide de Selenium
- Connexion Facebook à l'aide de Python
- Automatisation de la publication de joyeux anniversaire sur Facebook à l'aide de Selenium
- Comment accéder à la fenêtre de connexion contextuelle dans Selenium à l'aide de Python
- SMS Bomber utilisant du sélénium
Pilote Web Sélénium
Selenium Webdriver est le parent de toutes les méthodes et classes utilisées dans Selenium Python. C'est la force motrice de Selenium qui nous permet d'effectuer diverses opérations sur plusieurs éléments d'une page Web. Le pilote dispose de diverses méthodes et attributs que l'on peut utiliser pour automatiser les tests dans Selenium Python. Pour vérifier comment utiliser Webdriver, visitez –
WebElement dans Selenium Python
. Différentes méthodes que l'on peut utiliser dans Selenium Python sont -
| Méthode | Description |
|---|---|
| ajouter_cookie | Ajoute un cookie à votre session en cours. |
| dos | Recul d’un pas dans l’historique du navigateur. |
| fermer | Ferme la fenêtre actuelle. |
| créer_web_element | Crée un élément Web avec l'élément_id spécifié. |
| delete_all_cookies | Supprimez tous les cookies dans le cadre de la session. |
| supprimer_cookie | Supprime un seul cookie portant le nom donné. |
| exécuter_async_script | Exécute de manière asynchrone JavaScript dans la fenêtre/le cadre actuel. |
| exécuter_script | Exécute JavaScript de manière synchrone dans la fenêtre/le cadre actuel. |
| avant | Avance d’un pas dans l’historique du navigateur. |
| fullscreen_window | Appelle l’opération « plein écran » spécifique au gestionnaire de fenêtres |
| get_cookie | Obtenez un seul cookie par nom. Renvoie le cookie s'il est trouvé, Aucun sinon. |
| get_cookies | Renvoie un ensemble de dictionnaires, correspondant aux cookies visibles dans la session en cours. |
| get_log | Obtient le journal pour un type de journal donné |
| get_screenshot_as_base64 | Obtient la capture d'écran de la fenêtre actuelle sous forme de chaîne codée en base64, utile dans les images intégrées en HTML. |
| get_screenshot_as_file | Enregistre une capture d'écran de la fenêtre actuelle dans un fichier image PNG. |
| get_screenshot_as_png | Obtient la capture d'écran de la fenêtre actuelle sous forme de données binaires. |
| get_window_position | Obtient la position x, y de la fenêtre actuelle. |
| get_window_rect | Obtient les coordonnées x, y de la fenêtre ainsi que la hauteur et la largeur de la fenêtre actuelle. |
| get_window_size | Obtient la largeur et la hauteur de la fenêtre actuelle. |
| implicitement_attendre | Définit un délai d'attente persistant pour attendre implicitement qu'un élément soit trouvé, |
| maximiser_fenêtre | Maximise la fenêtre actuelle utilisée par Webdriver |
| minimiser_window | Appelle l'opération de « réduction » spécifique au gestionnaire de fenêtres |
| quitter | Quitte le pilote et ferme toutes les fenêtres associées. |
| rafraîchir | Actualise la page actuelle. |
| set_page_load_timeout | Définissez le temps d'attente pour la fin du chargement d'une page avant de générer une erreur. |
| set_script_timeout | Définissez la durée pendant laquelle le script doit attendre lors d'un appelexecute_async_script avant de générer une erreur. |
| set_window_position | Définit la position x, y de la fenêtre actuelle. (fenêtre.moveTo) |
| set_window_rect | Définit les coordonnées x, y de la fenêtre ainsi que la hauteur et la largeur de la fenêtre actuelle. |
| URL_actuelle | Obtient l'URL de la page actuelle. |
| poignée_de_fenêtre_actuelle | Renvoie le handle de la fenêtre actuelle. |
| page_source | Obtient la source de la page actuelle. |
| titre | Renvoie le titre de la page actuelle. |
Élément Web Sélénium
Un élément peut être une balise, une propriété ou quoi que ce soit, c'est une instance de classe
sélénium.webdriver.remote.webelement.WebElement
. Après avoir trouvé un élément à l'écran à l'aide de Selenium, vous souhaiterez peut-être cliquer dessus ou rechercher des sous-éléments, etc. Selenium fournit des méthodes autour de ce WebElement de Selenium. Pour découvrir comment utiliser l'objet élément dans le sélénium, visitez -
. Différentes méthodes que l'on peut utiliser avec un élément dans Selenium Python sont décrites ci-dessous -
| Méthodes des éléments | Description |
|---|---|
| est sélectionné() | La méthode is_selected est utilisée pour vérifier si l'élément est sélectionné ou non. Il renvoie une valeur booléenne True ou False. |
| est affiché() | La méthode is_displayed est utilisée pour vérifier si l'élément est visible ou non pour l'utilisateur. Il renvoie une valeur booléenne True ou False. |
| est autorisé() | La méthode is_enabled est utilisée pour vérifier si l'élément est activé ou non. Il renvoie une valeur booléenne True ou False. |
| get_property() | La méthode get_property est utilisée pour obtenir les propriétés d'un élément, telles que l'obtention de la propriété text_length de la balise d'ancrage. |
| get_attribute() | La méthode get_attribute est utilisée pour obtenir les attributs d'un élément, tels que l'obtention de l'attribut href de la balise d'ancrage. |
| envoyer_clés() | La méthode send_keys est utilisée pour envoyer du texte à n'importe quel champ, tel que le champ de saisie d'un formulaire ou même pour ancrer un paragraphe de balise, etc. |
| Cliquez sur() | La méthode click est utilisée pour cliquer sur n'importe quel élément, tel qu'une balise d'ancrage, un lien, etc. |
| clair() | La méthode clear est utilisée pour effacer le texte de n'importe quel champ, tel que le champ de saisie d'un formulaire ou même pour ancrer un paragraphe de balise, etc. |
| capture d'écran() | La méthode de capture d'écran est utilisée pour enregistrer une capture d'écran de l'élément actuel dans un fichier PNG. |
| soumettre() | La méthode submit est utilisée pour soumettre un formulaire après avoir envoyé des données à un formulaire. |
| value_of_css_property() | La méthode value_of_css_property est utilisée pour obtenir la valeur d'une propriété CSS pour un élément. |
| emplacement | La méthode de localisation est utilisée pour obtenir l'emplacement de l'élément dans le canevas rendu. |
| capture d'écran_as_png | La méthode screenshot_as_png est utilisée pour obtenir la capture d'écran de l'élément actuel sous forme de données binaires. |
| parent | La méthode parent est utilisée pour obtenir une référence interne à l'instance WebDriver à partir de laquelle cet élément a été trouvé. |
| taille | La méthode size est utilisée pour obtenir la taille de l’élément actuel. |
| nom_tag | La méthode tag_name est utilisée pour obtenir le nom de la balise à laquelle vous faites référence. |
| texte | La méthode text est utilisée pour obtenir le texte de l’élément actuel. |
| rectifier | La méthode rect est utilisée pour obtenir un dictionnaire avec la taille et l’emplacement de l’élément. |
| capture d'écran_as_base64 | La méthode capture d'écran_as_base64 est utilisée pour obtenir la capture d'écran de l'élément actuel sous forme de chaîne codée en base64. |