[PYTHON] Commençant par Selenium

J'ai touché Selenium pour le moment, j'ai donc écrit un petit mot. Cependant, je ne les ai pas tous essayés, il y a donc de nombreuses lacunes.

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

Un outil pour tester des sites Web. En écrivant un script à l'avance, il est possible d'effectuer la même opération sur le navigateur et de vérifier si l'élément existe au milieu et si l'URL correspond à la valeur attendue.

Pour le moment, j'ai entendu une histoire comme "Selenium quand il s'agit de tester des sites Web", alors quand je l'ai googlé, j'étais très inquiet parce que l'article était juste vieux, mais vers 2012, la série 2.x Il semble que le produit a été lancé et peut encore être utilisé.

Alors, pour utiliser Selenium

Pour le moment, vous pouvez le télécharger sur le site Selenium ** version anglaise **. Le site Selenium lui-même a une version japonaise, mais vous pouvez télécharger 1.x à partir du site japonais. Tout d'abord, j'étais vraiment dedans ici. Peu importe combien "s'il vous plaît voir le site officiel pour la dernière version" ...

Pour le moment, placez chaque fichier à l'emplacement suivant.

De plus, Python semble ici inutile à moins qu'il ne s'agisse d'un système version 2 (3.x ne fonctionne pas correctement car il y a des parties incompatibles à divers endroits). Je l'ai téléchargé depuis la page officielle de Python, mais il inclut les outils de configuration et pip (nécessaire pour installer Selenium Client). Puisqu'il n'y a rien de tel, installez-le en vous référant au site suivant.

Pour le moment, essayez de l'utiliser légèrement

Le moyen le plus simple de l'utiliser est de démarrer Selenium IDE et d'enregistrer → lire l'opération.

  1. Démarrez Firefox et démarrez Selenium IDE
  2. Assurez-vous que "Action> Record Test" dans Selenium IDE est coché.
  3. Revenez à la fenêtre Firefox et ouvrez le site que vous souhaitez tester
  4. Suivez le lien vers la page que vous souhaitez tester
  5. Décochez "Action> Record Test" pour arrêter l'enregistrement

À peu près comme ça, vous aurez un code d'opération simple. Selenium IDEウィンドウ

Après cela, sélectionnez la ligne que vous souhaitez tester et ajoutez un test en entrant une commande telle que "Insérer une commande" dans le menu contextuel et "assertTitle" dans la commande. À ce stade, notez que la valeur attendue doit être saisie dans le champ «Cible», pas dans le champ «Valeur» (j'en étais à nouveau accro). assertコマンドの指定

Un autre point à noter est que si vous voulez attendre que la transition de page soit terminée après avoir cliqué, utilisez la commande clickAndWait au lieu de la commande click, et attendez que l'écran change sans transition d'écran comme Ajax. Dans ce cas, vous pouvez simplement vérifier l'existence de l'élément en utilisant la commande waitForVisible ou similaire.

Cas de test de sortie

Si vous souhaitez exporter le scénario de test dans un fichier, sélectionnez «Enregistrer le scénario de test» ou «Exporter le scénario de test» dans le menu «Fichier». Si vous choisissez d'enregistrer les cas de test, vous obtiendrez un fichier HTML avec des balises de table, un code de test par ligne.

Si vous choisissez d'exporter, vous pouvez spécifier la langue et enregistrer le code de test dans un fichier. Par défaut, vous pouvez choisir parmi quatre langues: python, ruby, c # et java, mais si vous n'aimez pas le format du code ou si vous souhaitez sortir dans une autre langue, vous pouvez l'ajouter depuis "Options> Paramètres".

Exécutez le cas de test exporté

Les cas de test exportés peuvent être exécutés en utilisant leurs interpréteurs respectifs comme d'habitude (à condition que le module client Selenium pour chaque langue soit pré-installé). Cependant, comme mentionné ci-dessus, lors de l'utilisation de Python, il est nécessaire d'avoir la série version 2. Veuillez noter que le script ne fonctionne pas bien avec 3 séries.

De plus, dans mon environnement, le fichier produit par Ruby n'a pas pu être utilisé en raison d'une erreur de syntaxe depuis le début. Je n'ai pas essayé C # etc. car il est difficile à compiler.

Les cas de test exportés avec "Remote Control" écrit après le nom de la langue seront traités en démarrant n'importe quel navigateur utilisant Selenium Server, il est donc nécessaire de démarrer Selenium Server à l'avance. Consultez le site suivant pour savoir comment démarrer Selenium Server.

Pour le moment, ça ressemble à ça. Si je retrouve quelque chose, je peux l'ajouter.

Recommended Posts

Commençant par Selenium
Grattage au sélénium ~ 2 ~
Grattage avec du sélénium
À partir de PyTorch
Grattage réussi avec Selenium
ScreenShot avec Selenium (édition Python)
Grattage avec du sélénium [Python]
Grattage au sélénium en Python
Grattage avec Selenium + Python Partie 1
Python: travailler avec Firefox avec du sélénium
sélénium
Grattage avec du sélénium en Python
Souvenirs de combats avec Selenium
Grattage avec Selenium + Python Partie 2
Essayez Selenium Grid avec Docker
Commencer avec l'apprentissage automatique Python
Gratter la page i-town avec du sélénium
Scraping avec Selenium en Python (Basic)
Grattage avec Python, Selenium et Chromedriver
Des tests plus familiers avec Selenium
Obtenir le code HTML de l'élément avec du sélénium Python
Test WebUI avec Python2.6 + Selenium 2.44.0 - paramètre de profil
sélénium: attendre l'élément avec ET / OU
J'ai essayé d'utiliser du sélénium avec du chrome sans tête
Automatisez le processus WEB avec Heroku + Selenium + Chrome
[Python] Utiliser automatiquement le navigateur avec Selenium
Pratiquer le web scraping avec Python et Selenium
Construisez une machine d'acquisition de capture avec Selenium
Utilisez le pilote Web phantomjs de sélénium avec unittest de python
Je voulais vraiment copier avec du sélénium
Télécharger le PDF avec sélénium chromedriver (Chrome 57) + (Autres notes)
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Essayez d'exécuter Google Chrome avec Python et Selenium
Connectez-vous à Yahoo Business avec Selenium Python
Faites glisser et déposez un fichier local avec Selenium (Python)
[EC2] Empêcher les caractères déformés lorsqu'ils sont capturés avec du sélénium
Connexion automatique au service maintenant avec le pilote Web Selenium