


Comment utiliser Selenium, l'outil de test automatisé Python
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.
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"
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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

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

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.

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.

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

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.

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

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.
