Table des matières
1 Tests automatisés
1.1 Test unitaire
1.2 Tests d'interface
1.3 UI Test
1.3.1 Avantages des tests automatisés de l'interface utilisateur
1.3.2 Objets applicables des tests automatisés de l'interface utilisateur
1.4 Processus de test automatisé
2 selenium
3 script d'enregistrement IDE Selenium
Maison développement back-end Tutoriel Python Comment utiliser Selenium, l'outil de test automatisé Python

Comment utiliser Selenium, l'outil de test automatisé Python

May 17, 2023 am 10:43 AM
python selenium

    1 Tests automatisés

    Les tests automatisés font référence à l'automatisation des tests de logiciels, à l'exécution d'applications ou de systèmes dans des conditions prédéfinies, y compris des conditions normales et anormales, et enfin à l'évaluation des résultats d'exécution. Processus de conversion du comportement de test piloté par l'homme en exécution machine.

    Comment utiliser Selenium, loutil de test automatisé Python

    Les tests automatisés incluent l'automatisation de l'interface utilisateur, l'automatisation de l'interface et l'automatisation des tests unitaires. La planification des tests automatisés selon ce modèle pyramidal peut produire le meilleur rapport sortie/entrée (ROI) des tests automatisés et obtenir de bons avantages avec moins d'investissement.

    1.1 Test unitaire

    Le plus gros investissement devrait être dans les tests unitaires, et les tests unitaires devraient être exécutés plus fréquemment.

    Le framework de tests unitaires de Java est Junit.

    1.2 Tests d'interface

    Les tests d'interface sont des tests d'API Par rapport à l'automatisation de l'interface utilisateur, l'automatisation des API est plus facile à mettre en œuvre et plus stable dans son exécution.

    L'automatisation de l'interface présente les caractéristiques suivantes :

    • Peut intervenir dès le début du produit, une fois l'interface terminée

    • La quantité de maintenance du cas d'utilisation est faible

    • Convient aux projets avec une petite interface changements et changements fréquents d'interface

    Common Les outils de test automatisés de l'interface incluent RobotFramework, JMeter, SoapUI, TestNG+HttpClient, Postman, etc.

    1.3 UI Test

    Bien que la pyramide de tests nous dise de faire autant de tests automatisés de Si possible la couche API, les tests automatisés de la couche UI sont plus proches des exigences des utilisateurs et de l'activité réelle des systèmes logiciels. Et parfois, nous devons effectuer des tests de couche d'interface utilisateur.

    Caractéristiques de l'automatisation de l'interface utilisateur :

    • Une grande quantité de maintenance des cas d'utilisation

    • La page est très pertinente et doit être intervenue une fois le développement de la page du projet terminé

    • Les tests d'interface utilisateur conviennent aux projets avec de petits changements d'interface

    Il existe de nombreux frameworks de test pour la couche UI, tels que AutoIT pour les tests client Windows, Selenium pour les tests Web, TestPlant, eggPlant, Robot framework, QTP, etc.

    1.3.1 Avantages des tests automatisés de l'interface utilisateur

    Réduisez l'investissement en main-d'œuvre dans les tests de régression provoqués par des changements ou le développement en plusieurs phases de grands systèmes. Cela peut être la tâche la plus importante des tests automatisés, en particulier lorsque les modifications du programme sont fréquentes. L'effet est très évident. Les tests automatisés nécessitent plus de main-d'œuvre au début, mais après être entré dans la période de maintenance, beaucoup de main-d'œuvre peut être économisée. Cependant, dans la phase ultérieure des tests manuels, beaucoup de main-d'œuvre est nécessaire pour les tests de régression

    .
    • Réduisez le temps des tests répétés et réalisez des tests de régression rapides

    • Créez un processus de test efficace et fiable, réduisez les erreurs humaines

    • Peut exécuter des tests de plus en plus fastidieux

    • Peut effectuer certains tests difficiles ou impossible de tester manuellement

    • Meilleure utilisation des ressources

    • Réutilisabilité des scripts de test

    1.3.2 Objets applicables des tests automatisés de l'interface utilisateur

    Prérequis pour la mise en œuvre des tests automatisés : les changements de demande sont peu fréquents, le cycle du projet est suffisamment long et le script de test automatisé est reproductible.

    Convient aux projets d'automatisation :

    • Projets de type produit. Pour les projets de type produit, la nouvelle version constitue une amélioration par rapport à l'ancienne version et les fonctionnalités du projet n'ont pas beaucoup changé. Cependant, les nouvelles et anciennes fonctions du projet doivent être testées à plusieurs reprises pour vérifier la régression. L'avantage des tests automatisés réside dans les tests de régression, qui peuvent vérifier efficacement si de nouveaux défauts ont été introduits et si d'anciens défauts ont été corrigés. Dans une certaine mesure, les outils de tests automatisés peuvent être appelés outils de tests de régression.

    • Tests mécaniques et fréquents. Dans un projet à long terme, les mêmes grandes quantités de données doivent être saisies encore et encore. Comme les tests de compatibilité.

    Les projets suivants ne conviennent pas aux tests automatisés :

    • Projets avec des changements fréquents de demande, les scripts automatisés ne peuvent pas être réutilisés, les coûts de maintenance sont trop élevés et les performances en termes de coûts sont faibles

    • Le cycle du projet est court , une fois le script d'automatisation compilé Utilisation peu fréquente, performances à faible coût

    • Projets à forte nature interactive, projets nécessitant une intervention manuelle, l'automatisation ne peut pas être mise en œuvre

    1.4 Processus de test automatisé

    • Analyse : comprendre globalement le logique du système, analyser l’architecture de base du système.

    • Conception : Concevoir des cas de test. Les cas de test doivent être suffisamment clairs et clairs, avec une couverture large et précise.

    • Mise en œuvre : Pour implémenter le script, il y a deux exigences : l'une est une assertion et l'autre. utilisation raisonnable du paramétrage.

    • Exécution : L'exécution du script est loin d'être aussi simple qu'on l'imaginait. Les anomalies lors de l'exécution du script nécessitent une analyse minutieuse des causes.

    • Résumé : L'analyse des résultats des tests et le résumé du processus de test sont les clés des tests automatisés.

    • Maintenance : La maintenance des scripts de tests automatisés est un problème difficile à résoudre mais qui doit être résolu.

    • Analyse : Analyse approfondie des risques de couverture des cas d'utilisation automatisés et du coût de maintenance des scripts pendant le processus de test automatisé.

    2 selenium

    Selenium est un cadre de test automatisé basé sur l'interface utilisateur pour les applications Web, prenant en charge plusieurs plates-formes, plusieurs navigateurs et plusieurs langues.

    Le premier Selenium RC a été remplacé par l'actuel webDriver. Il peut être simplement compris comme selenium1.0 + webdriver, et l'actuel Selenium2.0. Généralement, nous utilisons le terme « Sélénium » pour désigner Sélénium 2.0. Selenium comprend trois composants : Selenium IDE, Webdriver et Selenium Grid.

    Présentons chacun d'entre eux :

    Selenium IDE

    Selenium IDE est un environnement de développement intégré complet pour les tests Selenium. Il peut enregistrer directement les opérations de l'utilisateur dans le navigateur et lire, modifier et déboguer les scripts de test. Pendant le débogage, vous pouvez parcourir l'exécution ou ajuster la vitesse d'exécution, et afficher le journal en bas pour obtenir des informations sur les erreurs. Les scripts de test enregistrés peuvent être exportés dans plusieurs langages, tels que Java, C#, Python, Ruby, etc., ce qui facilite le fonctionnement des testeurs maîtrisant différents langages. Webdriver

    Selenium RC Lors de l'exécution d'applications JavaScript dans un navigateur, il y aura des problèmes de bac à sable environnemental, mais WebDriver peut sortir du bac à sable JavaScript et créer des scripts de test automatisés multiplateformes plus robustes, distribués pour différents navigateurs. Basé sur des liaisons de langage spécifiques (Java, C#, Python, Ruby, Perl, JavaScript, etc.) pour conduire le navigateur à exploiter et valider les éléments Web.

    Comment fonctionne le pilote Web :

    • Après le démarrage du navigateur, Selenium-webdriver liera le navigateur cible à un port spécifique et le navigateur démarré servira de serveur distant du pilote Web.

    • Le client (c'est-à-dire le script de test) utilise ComandExecutor pour envoyer une requête HTTP au serveur (protocole de communication : The WebDriver Wire Protocol. Dans le corps de la requête HTTP, ce sera une chaîne au format JSON spécifié par le protocole WebDriver Wire. Indiquez à Selenium ce que nous voulons que le navigateur fasse ensuite).

    • Le côté serveur doit s'appuyer sur des composants natifs du navigateur pour convertir les commandes du service Web en appels natifs du navigateur afin de terminer l'opération.

    selenium Grid

    selenium Grid est un serveur qui fournit une liste de serveurs accessibles par les instances de navigateur et gère les informations d'enregistrement et d'état de chaque nœud. Différents scripts de test peuvent être exécutés simultanément sur différents serveurs.

    3 script d'enregistrement IDE Selenium

    Ouvrez Edge-Plug-in-select Selenium IDE :

    Créez un nouveau projet à ce moment-là, il y aura un scénario de test sans titre dans la fenêtre de scénario de test sur la gauche. et renommez-le en "test"

    Comment utiliser Selenium, loutil de test automatisé Python

    Cliquez sur le bouton d'enregistrement (petit point rouge) en haut à droite de l'IDE pour démarrer l'enregistrement manuel

    Entrez l'URL à tester telle que http://www.baidu. com dans la barre d’adresse, recherchez des mots-clés et vous pourrez voir que l’opération d’enregistrement IDE a été effectuée.

    Cliquez avec le bouton droit sur la page pour ajouter des points de contrôle.

    Une fois l'enregistrement terminé, cliquez sur le bouton d'enregistrement (petit point rouge) pour mettre fin à cet enregistrement manuel. Dans Selenium IDE, sélectionnez un scénario de test, cliquez avec le bouton droit et sélectionnez "Exporter en tant que fichier test.py.

    Exécutez le script en python et déboguez-le.

    # Generated by Selenium IDE
    import pytest
    import time
    import json
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    class TestTest():
      def setup_method(self, method):
        self.driver = webdriver.Chrome()
        self.vars = {}
      def teardown_method(self, method):
        self.driver.quit()
      def test_test(self):
        self.driver.get("https://www.baidu.com/")
        self.driver.set_window_size(809, 864)
        self.driver.find_element(By.ID, "kw").click()
        self.driver.execute_script("window.scrollTo(0,0)")
        self.driver.find_element(By.ID, "kw").send_keys("四月是你的谎言")
        self.driver.find_element(By.ID, "su").click()

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Article chaud

    Porce de variable PHP expliquée
    1 Il y a quelques mois By 百草
    Commentant le code en php
    1 Il y a quelques mois By 百草
    <🎜>: Grow A Garden - Guide complet des marchands itinérants
    4 Il y a quelques semaines By Jack chen
    Conseils pour écrire des commentaires PHP
    1 Il y a quelques mois By 百草

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Sujets chauds

    Tutoriel PHP
    1511
    276
    Quelles sont les stratégies courantes pour déboguer une fuite de mémoire à Python? Quelles sont les stratégies courantes pour déboguer une fuite de mémoire à Python? Aug 06, 2025 pm 01:43 PM

    UsetracemalloctotrackMemoryAllocations et identifier les high-momemorylines; 2.MonitorObjectCountSwithgcandobjgraphtodetectGrowingObjectTypes; 3.inspectreferencyclesandlong-livefreencesUsingobjgraph.show_backrefscheckForonColdCyledCycles; 4.USEMMORY_PROFOF

    Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Aug 14, 2025 am 11:15 AM

    Table des matières Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Pourquoi l'analyse des sentiments est importante dans l'investissement des crypto-monnaies sources clés de données d'émotion a. Plateforme de médias sociaux b. Médias d'information c. Outils pour l'analyse des sentiments et la technologie Utilisé couramment des outils dans l'analyse des sentiments: Techniques adoptées: intégrer l'analyse des sentiments dans les stratégies de trading comment les traders l'utilisent: Exemple de stratégie: supposer le scénario de trading BTC Réglage du scénario: Signal émotionnel: interprétation des commerçants: Décision: Résultats: Limitations et risques de l'analyse des sentiments en utilisant de plus en plus les émotions pour le commerce des crypto-oreilles. Une récente étude en 2025 de Hamid

    Comment automatiser la saisie de données d'Excel à un formulaire Web avec Python? Comment automatiser la saisie de données d'Excel à un formulaire Web avec Python? Aug 12, 2025 am 02:39 AM

    La méthode de remplissage des données Excel dans les formulaires Web à l'aide de Python est: utilisez d'abord des pandas pour lire les données Excel, puis utilisez le sélénium pour contrôler le navigateur pour remplir et soumettre automatiquement le formulaire; Les étapes spécifiques incluent l'installation de bibliothèques Pandas, OpenPyxl et Selenium, en téléchargeant le pilote de navigateur correspondant, en utilisant des pandas pour lire le nom, le courrier électronique, le téléphone et d'autres champs dans le fichier data.xlsx, le lancement du navigateur via le sélénium pour ouvrir la page Web cible, localiser les éléments de formulaire et remplir le traitement de données, en utilisant le formulaire Web pour traiter le contenu dynamique, ajouter le contenu de la charge dynamique, ajouter un traitement exception et traiter toutes les lignes de données dans une boucle.

    Comment utiliser l'énumération pour boucler avec un index dans Python Comment utiliser l'énumération pour boucler avec un index dans Python Aug 11, 2025 pm 01:14 PM

    Lorsque vous devez parcourir la séquence et accéder à l'index, vous devez utiliser la fonction énumérer (). 1. EnuMerate () fournit automatiquement l'index et la valeur, ce qui est plus concis que Range (LEN (séquence)); 2. Vous pouvez spécifier l'index de démarrage via le paramètre de démarrage, tel que start = 1 pour réaliser un nombre basé sur 1; 3. Vous pouvez l'utiliser en combinaison avec la logique conditionnelle, comme sauter le premier élément, limitant le nombre de boucles ou format la sortie; 4. Applicable à tout objet itérable tel que les listes, les chaînes et les tuples, et le déballage des éléments de support; 5. Améliorez la lisibilité du code, évitez la gestion manuelle des compteurs et réduisez les erreurs.

    Comment copier des fichiers et des répertoires d'un endroit à un autre à Python Comment copier des fichiers et des répertoires d'un endroit à un autre à Python Aug 11, 2025 pm 06:11 PM

    Pour copier des fichiers et des répertoires, le module Shuttil de Python fournit une approche efficace et sécurisée. 1. Utilisez ShutLil.copy () ou ShutLil.copy2 () pour copier un seul fichier, qui conserve les métadonnées; 2. Utilisez ShutLil.CopyTree () pour copier récursivement l'intégralité du répertoire. Le répertoire cible ne peut pas exister à l'avance, mais la cible peut être autorisée à exister via dirrs_exist_ok = true (python3.8); 3. Vous pouvez filtrer des fichiers spécifiques en combinaison avec les paramètres Ignore et shuttil.ignore_patterns () ou des fonctions personnalisées; 4. La copie du répertoire nécessite uniquement OS.Walk () et Os.MakeDirs ()

    Comment utiliser Python pour l'analyse et la prédiction boursières? Comment utiliser Python pour l'analyse et la prédiction boursières? Aug 11, 2025 pm 06:56 PM

    Python peut être utilisé pour l'analyse et la prédiction boursières. La réponse est oui. En utilisant des bibliothèques telles que la yfinance, en utilisant des pandas pour le nettoyage des données et l'ingénierie des caractéristiques, la combinaison de Matplotlib ou de la mer pour l'analyse visuelle, puis en utilisant des modèles tels que ARIMA, Random Forest, XGBOost ou LSTM pour construire un système de prédiction et évaluer les performances grâce à un backtesting. Enfin, l'application peut être déployée avec Flask ou Fastapi, mais l'attention doit être accordée à l'incertitude des prévisions du marché, des risques de sur-ajustements et des coûts de transaction, et le succès dépend de la qualité des données, de la conception du modèle et des attentes raisonnables.

    Comment implémenter un itérateur personnalisé dans une classe Python? Comment implémenter un itérateur personnalisé dans une classe Python? Aug 06, 2025 pm 01:17 PM

    Définir__iter __ () ToreturnTheiteratorObject, typiquement SellorAsParateiteratoratance.2.Define__Next __ () ToreturnTheNextValueAndraiStopitérityWenex Hausted.

    Comment imprimer un fichier JSON dans Python? Comment imprimer un fichier JSON dans Python? Aug 07, 2025 pm 12:10 PM

    Pour embellir et imprimer des fichiers JSON, vous devez utiliser les paramètres de retrait du module JSON. Les étapes spécifiques sont: 1. Utilisez JSON.Load () pour lire les données du fichier JSON; 2. Utilisez JSON.Dump () et définissez un indent sur 4 ou 2 pour écrire dans un nouveau fichier, puis le fichier JSON formaté peut être généré et l'impression embellinée peut être terminée.

    See all articles