icon selenium

Selenium Serveur – Scripter ses scénarios

Selenium permet d’automatiser les tests de navigation et de soumission de ses applications web comme dis précédemment. Mais ici je vais parler de la mise en place du serveur Selenium. Celui-ci permet de mettre à disposition un daemon utilisable pour :

  • exécuter un scénario en console
  • via tâche cron
  • via l’intégrer dans ses propres outils

Cela permet d’exécuter une multitude de scénario de manière régulière.

Il faut donc mettre en place un environnement xvfb avec un navigateur web (iceweasel). Le serveur va écouter sur le port 4444 et utiliser le navigateur pour simuler la navigation. Tout cela avec des scripts de démarrage automatique.

Pour créer les scénarios, voici l’article sur le plugin de Firefox.

Installer fake-X XVFB

Installation des dépendances nécessaires. Java pour Selenium server, xvfb pour émuler un serveur X afin de lancer firefox/iceweasel sans installer toute les dépendances de X. Et le navigateur choisi.

Attention il n’y a pas de script d’init fourni avec le paquet xvfb. Soit on l’utilise dans le script selenium, soit on fait propre avec un script init dédié. Voir le script init de gmonfort pour xvfb.

On le met dans /opt/selenium/xvfb-init.d.sh avec un lien dans init.d et on met à jour les rc.d :

Installer le daemon Selenium

Pour le script d’init.d, j’ai repris le script de robinhoode et je l’ai modifié.

On le met dans /opt/selenium/selenium-init.d.sh avec un lien dans init et update des rc :

 Le script est à modifier selon la version du JAR_FILE.

selenium.sh

On démarre les 2 services. On peut voir que le serveur écoute bien sur le port 4444.

Test de selenium

On va le faire via un client python : https://pypi.python.org/pypi/selenium

Les autres clients sont disponibles sur : http://docs.seleniumhq.org/download/

Les prérequis :

Installation des libraires python de Selenium :

On test un script :

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">