A quoi ça sert ?

Tests de performances

Endurance

Rapidité

Points importants

C'est du scala...

...mais on a pas besoin de le connaitre

C'est un langage compilé 

Ressemble à behat

Ça réfère le point d'entrée des tests

À quoi ça sert ?

Donc on n'y touche PAS !!!

Différence Object vs Class

Object

Class

  • Il ne peut pas être instancié
  • Retourne toujours la même chose
  • Utile pour définir un scénario
  • Utile pour définir une étape
  • Ne prend pas de paramètres
  • Programmation fonctionnelle
  • Pas de mutation
  • Il peut être instancié
  • Retourne une instance
  • Peut prendre des paramètres
  • Utile pour définir des classes abstraites ou parentes étendues par des objets
  • Peut être surchargée

Les scénarios

  • Nom unique
  • Une méthode exec contenant la suite de tests

Requêter une page

  • Méthode exec
  • Méthode http contenant le nom de la page
    • Méthode get pour le path
    • Méthode check pour valider le status

Injecter des données

  • Méthode inject

Injecter des utilisateurs

Méthodes : atOnceUsers, constantUsersPerSec, rampUsersPerSec​, heavisideUsers

Attendre X secondes

nothingFor(X seconds)

Pendant X secondes

during(X seconds)

Exemple

Les formulaires

  • On donne un titre au formulaire
  • On lui donne une route en méthode post
  • On donne un body de type Seq (tableau de string puis any ici)
  • On passe le header en json
  • On vérifie que le formulaire est bien validé par l'API

Les formulaires

  • On instancie un formulaire
  • On récupère l'instance située dans la variable spf

Le parcours random

  • À la suite d'une étape de scénario