Premiers pas avec Apache JMeter

Installation ou configuration

  1. Téléchargez une archive distribuée à partir de la section Binaries de JMeter à partir de la page [Download Apache JMeter][1].
  2. En fonction de la version que vous avez téléchargée, vérifiez [la version minimale requise de Java][2] et installez Java si nécessaire. Assurez-vous que la variable d’environnement JAVA_HOME est définie et pointe vers une version correcte.
  3. Extrayez l’archive de distribution dans le répertoire de votre choix.
  4. Ouvrez l’interface utilisateur JMeter :
  • Sous Windows : accédez au répertoire <jmeter_location>\bin et exécutez jmeterw.bat ou jmeter.bat

  • Sous Linux/Mac : accédez au répertoire <jmeter_location>/bin et exécutez jmeter ou ‘jmeter.sh`.

     For example:
    
       cd /Users/me/apache-jmeter/bin
       ./jmeter 
    
     **Note**: if the above command fails with `Permission denied` error, set execute permission on `jmeter` file:
    
       cd /Users/me/apache-jmeter/bin
       chmod u+x ./jmeter
    

Si vous pouvez voir l’interface utilisateur de JMeter, la configuration de base a réussi.

[![JMETER_UI][4]][4]

[1] : http://jmeter.apache.org/download_jmeter.cgi#binaries [2] : http://jmeter.apache.org/usermanual/get-started.html#java_versions [3] : https://i.stack.imgur.com/4osd0.png [4] : https://i.stack.imgur.com/wh5qS.png

Vue d’ensemble des composants Apache JMeter à haut niveau

Apache JMeter a séparé tous les composants dans les groupes suivants en fonction de leur fonctionnalité :

  1. Plan de test : point de départ pour la création de scripts. JMeter enregistre le plan de test au format .jmx. Vous ajoutez des composants au plan de test en cliquant avec le bouton droit sur le panneau de test et en naviguant jusqu’au composant que vous souhaitez ajouter.
  2. Workbench : est un endroit temporaire pour commencer à écrire des scripts. En plus de tous les composants disponibles dans Test Plan, vous obtenez “HTTP(s) Test Script Recorder” afin d’“enregistrer” les actions du navigateur. Les scripts peuvent être enregistrés dans le Workbench à condition de cocher la case “Enregistrer le Workbench”, sinon ils ne le sont pas.
  3. Threads (Users) : vous pouvez définir un nombre d’utilisateurs (virtuels) à exécuter, le temps de montée en puissance et le nombre de boucles. vous pouvez également définir sur le plan de test si les groupes de threads doivent s’exécuter en séquentiel ou en parallèle dans le cas de plusieurs groupes de threads. quelques exemples sont Groupe de threads, groupe de threads setUp et groupe de threads tearDown
  4. Logic Controller : Permet de définir le flux d’exécution et de regroupement des échantillonneurs. l’un des exemples utiles est Transaction Controller, où vous combinez tous les échantillonneurs de la page de connexion (toutes les ressources, y compris les images, les fichiers .css et .js) afin que le temps de réponse combiné puisse être récupéré.
  5. Sampler: Sampler est le cœur du JMeter. Il donne des composants pour simuler les requêtes de divers protocoles tels que HTTP, JDBC, FTP, SMTP, etc. Par exemple, l’échantillonneur HTTP vous permet de simuler un paquet HTTP (de GET, POST ou de toute méthode prise en charge). Les protocoles de flux principaux sont pris en charge, pour les autres, vous pouvez utiliser des plugins gratuits ou commerciaux.
  6. Config Element: Les éléments de configuration peuvent être utilisés pour configurer les valeurs par défaut et les variables pour une utilisation ultérieure par les échantillonneurs. Notez que ces éléments sont généralement traités au début de la portée dans laquelle ils se trouvent, c’est-à-dire avant tout échantillonneur dans la même portée. CSV Dataset Config vous permet de fournir des données de test comme les noms d’utilisateur, les mots de passe du scénario de connexion à partir d'un fichier. L’élément de configuration “Variables définies par l’utilisateur” vous permet de définir des variables qui peuvent être utilisées dans le plan de test, mais où chaque thread a sa propre copie.
  7. Timer : par défaut, un thread JMeter exécute des échantillonneurs en séquence sans pause. Les composants présentés ici fournissent la fonctionnalité permettant d’introduire User Think Time sous diverses formes parmi les échantillonneurs. quelques exemples sont Constant Timer, Constant Throughput Timer.
  8. Pre Processors : vous permettent d’effectuer des opérations/actions avant que l’échantillonneur ne soit exécuté. JSR223 Pre Processor avec [Apache Groovy] [1] (similaire au style de codage Java) vous permet d’apporter des modifications à l’échantillonneur avant de l’envoyer.
  9. “Post-processeurs” : vous permet d’effectuer des opérations/actions après l’exécution de l’échantillonneur. quelques exemples utiles récupèrent des valeurs dynamiques telles que l’ID de session, en utilisant le post-processeur Regular Expression Extractor pour tout type de texte, CSS/JQuery Extractor pour HTML, JSON Extractor pour JSON, XPath Extractor pour XML.
  10. Assertions : comme son nom l’indique, vous pouvez affirmer la réponse des échantillonneurs de différentes manières, comme la recherche de texte, la taille de la réponse, la durée de réception de la réponse, etc. Par exemple, vous pouvez utiliser Response Assertion pour rechercher du texte dans la réponse. Si l’Assertion échoue, JMeter marque l’échantillonneur, auquel l’Assertion est appliquée, comme Échec.
  11. Écouteurs : les auditeurs vous permettent d’enregistrer les résultats du test, de voir l’exécution du test, etc. Par exemple, en utilisant “Afficher l’arborescence des résultats”, vous pouvez voir la demande/réponse des échantillonneurs et s’ils sont marqués comme PASS (couleur verte)/FAIL ( couleur rouge) par JMeter. à l’aide du rapport agrégé, vous pouvez enregistrer les résultats du test au format CSV. La remarque importante est que vous utilisez des écouteurs avant l’exécution du test (pour le débogage du script de test) ou après l’exécution du test (pour afficher les résultats dans des graphiques ou un résumé), mais pas pendant l’exécution. nous devons supprimer les écouteurs pendant le test car cela consomme beaucoup de ressources système. Nous exécutons donc le test en mode non graphique et enregistrons les résultats à l’aide de l’option -l au format .csv/.jtl. Après le test, vous pouvez charger ces fichiers enregistrés dans l’un des écouteurs du JMeter pour afficher les graphiques/résumés.

Voici la syntaxe générale (“vous ajoutez n’importe quel composant en fonction des besoins”) :

Test Plan
    Thread Group
        Config Element
        Logic Controller
            Pre Processor
            Sampler
            Timer
            Post Processor
            Assertion
        Listener

Références:

  1. [Plan de test et composants][2]
  2. [Ordre d’exécution][3]
  3. [Règles de portée][4]

[1] : http://groovy-lang.org [2] : http://jmeter.apache.org/usermanual/test_plan.html [3] : http://jmeter.apache.org/usermanual/test_plan.html#executionorder [4] : http://jmeter.apache.org/usermanual/test_plan.html#scoping_rules