3. 1-introduction :
• Généralement, une fois le développement de l’application terminée, elle est
mise en production.
• Seulement, le succès peut arriver rapidement et il convient donc de
vérifier au minimum si l’application est viable avec un grand nombre
d’utilisateurs.
Pour vérifier cela, il suffit de lancer des tests de charge (stress tests en
anglais) sur son application.
• Dans cet exposé, On vous propose de découvrir un outil que vous pouvez
utiliser gratuitement pour effectuer ces tests.
4. 2-Définition :
• Selenium est une suite d’outils
permettant de faire des tests
fonctionnels d’une application
web (et uniquement web).
5. 3-Les composants de selenium :
• Selenium core : cœur de selenium. Le core doit être installé sur le serveur sur lequel
tourne votre application pour pouvoir les tester.
• Selenium IDE : extension firefox capable d’enregistrer et d’exécuter des tests et des test
suites.
• Selenium remote control : serveur qui permet d’exécuter des tests sur différents
navigateurs (firefox, internet explorer, opera, etc) et différents systèmes d’exploitation
(MS windows, GNU/linux, mac OS).
• Serveur qui permet d’exécuter des tests écrit dans des langages de script comme ruby,
python, java, .Net et perl.
• Télécharger ses composants sur : http://docs.seleniumhq.org/download/
6.
7. 4- tests de charge avec selenium :
• A l’origine, selenium est une framework de tests fonctionnels pour vos
applications web. Néanmoins, on propose aussi de l’utiliser comme outil
de tests de charge.
• En effet, selenium permet d’enregistrer des séquences de navigation
depuis votre browser (firefox). Ces séquences peuvent ensuite être
scriptes, variabilisées puis rejouées plusieurs fois depuis plusieurs
machines en parallèle.
• Afin d'exécuter des tests sur plusieurs machines différentes du serveur
selenium, celui-ci dispose du mode GRID.
8. 5-selenium GRID, exécuter en parallèle :
• Le principe est d'avoir un serveur "hub" qui écoute et enregistre des serveurs "node"
qui exécuteront les tests. Chaque node enregistré par le hub l'informe de ses
capacités (navigateur, version, plateforme).
• Le serveur hub reçoit toutes les commandes du client.
• En fonction de la demande du client (capacités, session), le serveur hub va distribuer
les commandes vers le serveur node adéquat.
• Concrètement, lancez d'abord votre serveur hub :
• java -jar selenium-server-standalone-2.43.1.jar -role hub
• Le serveur hub est en écoute sur un port pour des demandes de serveurs node.
9. 5-selenium GRID, exécuter en parallèle (suite):
• Puis lancez des serveurs nodes. Vous pouvez spécifier quels sont les capacités
supportées via l'option "-nodeconfig" avec un fichier de config en JSON ou en
utilisant l'option "-browser" (dépréciée):
• java -jar selenium-server-standalone-2.43.1.jar -role node -hub
http://IP_HUB:PORT_HUB/grid/register -browser
browserName=firefox,platform=LINUX -browser "browserName=internet
explorer,version=9"
10. 6-Conclution :
• On peut créer ses propres scénarios très facilement sans avoir à
apprendre les commandes de l’application.
• Selenium peut simuler via selenium remote control (rc) différents
navigateurs, plateformes et même langage.
• Selenium grid va permettre de mettre en place une architecture
distribuées pour réaliser des tests en parallèle.