top of page
Rechercher

Introduction à OctoPerf

  • yanniv.pharaon
  • 18 juin 2024
  • 4 min de lecture

Vous en avez entendu parler mais vous n’avez jamais osé vous lancer ?

Cet article est fait pour vous.

 

Il répondra aux 4 questions suivantes :


1)   OctoPerf qu’est-ce que c’est ?

2)   Comment créer un script dans Octoperf  ?

a.    L’enregistrement

b.   Les possibilités d’actions

3)   Comment gérer la variabilisation ?

a.    Choisir son action

b.   Paramétrage de l’extracteur

4)   Comment lancer et visualiser le rejeu d’un script ?

a.    Validation et comparaison

 

 

1.    OctoPerf qu’est-ce que c’est ?


OctoPerf est un outil de test de performance en mode SaaS (Software as a Service) et On-Premise (En Interne). Il va permettre à ses clients de tester la performance de leur(s) application(s) web et mobile en effectuant une simulation de navigation de plusieurs utilisateurs simultanés via la mise en place d’injecteurs. Reposant sur le moteur de JMeter, OctoPerf offre des fonctionnalités rendant le scripting plus « user-friendly ». De plus, il intègre des options de configuration, des modèles de charge et de suivi durant les tirs, ainsi que des fonctionnalités manquantes dans la version standard de JMeter.

 

2.    Comment créer un script dans Octoperf  ?


A.   L’Enregistrement

 

Dans cet outil il n’y a pas de fonction “record” comme l’on pourrait trouver dans un Neoload ou un LoadRunner par exemple. Ici on utilise des fichiers HAR.

Un fichier HAR (ou Http ARchive) est un format de fichier basé sur du JSON utilisé pour enregistrer sous forme de journal les différents échanges HTTPS entre le navigateur et le serveur.

 

Pour créer un fichier HAR, nous aurons besoin d’enregistrer notre navigation à l’aide de la fonction “record” de notre web browser (sur Chrome  > Plus d’outils > Outils de développement > Network > bouton record network log)

 

Une fois l’enregistrement complété, vous n’aurez plus qu’à le stopper avec le même bouton utilisé pour lancer l’enregistrement, puis à cliquer sur la flèche pointant vers le bas pour exporter l’enregistrement (sous la forme d’un fichier HAR).


Pour ajouter ledit fichier sur OctoPerf, passons sur l’UI Octoperf (https://octoperf.com). On commence par créer un ‘Projet’, puis créer un ‘utilisateur virtuel’. Une fois l’utilisateur créé, il va falloir importer le fichier HAR que vous venez d’exporter. Une fois le fichier importé dans Octoperf vous pouvez commencer à vous amuser.


 

B.    Les possibilités d’actions :

 

OctoPerf dispose d’une grande variété d’actions logiques que vous pourrez utiliser pour agrémenter votre script.

 

Dans la section “Containers” vous retrouverez les classiques boucles et conditions ainsi qu’un contrôleur de flux (très utile pour gérer au mieux le nombre d'actes métier).

 

La section “HTTP requests” vous permettra d’ajouter des requêtes à votre script, ce qui peut vous être particulièrement utile si vous souhaitez mettre à jour votre script sans pour autant refaire un enregistrement. Il vous suffit d’ajouter les nouveaux appels et de les paramétrer à votre guise.

 

Les "Variable extractors” sont des fonctionnalités qui permettent d'extraire des valeurs ciblées à partir des réponses d'une requête HTTP et de les stocker dans des variables. Plusieurs types d'extracteur sont disponibles :

 

Regexp, JSON et CSS extractor vont extraire des valeurs à partir de réponses HTTP en s’appuyant respectivement, sur une regexp, un JSON path et une valeur CSS/JQuery.

Les “XPath1 et XPath2 extractors” vont quant à eux se baser sur la structure HTML/XML de la réponse HTTP reçue. Rarement faillibles, mais attendent une réponse exacte, la moindre modification de votre front rendra très certainement votre extracteur obsolète.

 

Les "Logic actions” sont situationnelles mais peuvent répondre à des cas pratique très spécifiques.

L’action “Script” permet d'interagir directement avec le JMeter d'OctoPerf. Cette action est compatible avec plusieurs langages tels que : Groovy, Java, JavaScript, BeanShell, BSH et JEXL. Cette fonctionnalité peut s’avérer bien pratique si vous souhaiter réaliser une action qui n’est pas nativement disponible dans Octoperf.


Set property” permet de partager la valeur d’une variable entre tous les injecteurs utilisés lors de votre tir.

Quant à “Poll et Put Queue”, ils vous serviront à créer une pile vous permettant de stocker des valeurs dans l’objectif de les lire lorsque nécessaire.


 Les “pre/post processors” sont des sous-action HTTP, elles sont généralement rattachées à une requête. Les assertions nous permettrons de valider le contenu d’une réponse, tandis que les “Pre/Post processor script” s’exécuteront juste avant ou après la requête en question pour une organisation plus claire. La fonction SLA quant à elle, servira à appliquer un profile SLA à ladite requête.

 

 

3.    Comment gérer la variabilisation


A.   Choisir son action

 

 

Retournons dans le fichier que nous venions d’importer et intéressons-nous de plus près aux extracteurs. Commençons par un sélectionner un extracteur regexp (les plus fréquemment utilisés) :

 


Octoperf fonctionne avec un système de drag and drop, après avoir choisis votre extracteur, faites-le simplement glisser vers la requête qui contient la valeur que vous souhaitez extraire, puis spécifiez dans quelle section vous désirez placer l’extracteur.

 


B.    Paramétrage de l’extracteur

 

Les extracteurs d’Octoperf gèrent de façon automatique les bornes. Vous n’aurez qu’à surligner la valeur à extraire, vous observerez alors 3 couleurs différentes.

La partie bleue correspond à la zone d’effet de l’extracteur, la grise correspond à la borne gauche et la verte à la borne droite. Vous pouvez configurer les deux bornes à l’aide des valeurs “LEFT OFFSET” et “RIGHT OFFSET” en bas à gauche du code html.

 

Une fois votre extracteur paramétré, vous pouvez vérifier avec la fonction debug si la valeur que vous recherchez a bien été récupérée.

 


4.    Comment lancer et visualiser le rejeu d’un script ?


A.   Validation et comparaison

 

Pour la prochaine étape, il vous suffira tout d’abord de renommer votre extracteur puis de l’affilier à une étape dans le but de vérifier si l’extracteur fonctionne sur les valeurs variabilisées. Lors de ce rejeu, vous aurez la possibilité de choisir un nombre d’itération allant de 1 à 5.

Ces itérations vous seront nécessaire afin de comparer les différentes simulations entre elles.

 


Ce qu’il faut retenir :


OctoPerf est un outil de test de performance en mode SaaS et On-Premise, offrant une grande rapidité d'accès et une flexibilité dans son utilisation. Il propose diverses options comme les extracteurs, regexp, while, if container, et script JS, permettant de configurer des scripts selon vos besoins spécifiques. Son système de rejeu est simple et efficace, facilitant la surveillance des réponses collectées.

 

De plus, il possède également une partie monitoring très détaillé avec les tirs de performance, sujet qui sera présenté dans une future partie.

 


 
 
 

Commentaires


bottom of page