8b. Création d'un plan de test LDAP étendu

Dans cette section, vous apprendrez à créer un plan de test de base pour tester un serveur LDAP.

Comme l'échantillonneur LDAP étendu est hautement configurable, cela signifie également qu'il faut un certain temps pour créer un plan de test correct. Vous pouvez cependant l'adapter exactement à vos besoins.

Vous allez créer 1 utilisateur qui enverra des requêtes pour neuf tests sur le serveur LDAP. De plus, vous direz aux utilisateurs d'exécuter leurs tests une fois. Ainsi, le nombre total de requêtes est de (1 utilisateur) x (9 requêtes) x (répéter 1 fois) = 9 requêtes LDAP. Pour construire le plan de test, vous utiliserez les éléments suivants :
groupe de threads ,
ajout de valeurs par défaut de requête étendue LDAP ,
ajout de requêtes LDAP et
ajout d'un écouteur pour afficher/stocker les résultats du test

Cet exemple suppose que le serveur LDAP est disponible sur ldap.test.com .

Pour les utilisateurs LDAP moins expérimentés, je construis un petit tutoriel LDAP qui explique brièvement les différentes opérations LDAP qui peuvent être utilisées dans la construction d'un plan de test complexe.

Faites attention lorsque vous utilisez des caractères spéciaux LDAP dans le nom distinctif, dans ce cas (par exemple, vous souhaitez utiliser un signe + dans un nom distinctif), vous devez échapper le caractère en ajoutant un signe " \ " avant ce caractère. Exception supplémentaire : si vous souhaitez ajouter un caractère \ dans un nom distinctif (dans une opération d'ajout ou de renommage), vous devez utiliser 4 barres obliques inverses.

Exemples:

cn=dolf\+smits
pour ajouter/rechercher une entrée avec le nom comme cn=dolf+smits
cn=dolf \\ smits
pour rechercher une entrée avec le nom cn=dolf \ smits
cn=c:\\\\log.txt
pour ajouter une entrée avec un nom comme cn=c:\log.txt

8b.1 Ajouter des utilisateurs

La première étape que vous souhaitez effectuer avec chaque plan de test JMeter consiste à ajouter un élément Thread Group. Le groupe de threads indique à JMeter le nombre d'utilisateurs que vous souhaitez simuler, la fréquence à laquelle les utilisateurs doivent envoyer des demandes et le nombre de demandes qu'ils doivent envoyer.

Allez-y et ajoutez l' élément Thread Group en sélectionnant d'abord le plan de test , en cliquant sur le bouton droit de la souris pour obtenir le menu Add , puis en sélectionnant AddThreads (Users)Thread Group . Vous devriez maintenant voir l' élément Groupe de threads sous Plan de test . Si vous ne voyez pas l'élément, "développez" l'arborescence du plan de test en cliquant sur l'élément Plan de test.


Illustration 8b.1.  Groupe de threads avec valeurs par défaut
Illustration 8b.1. Groupe de threads avec valeurs par défaut

8b.2 Ajout des valeurs par défaut des requêtes étendues LDAP

Commencez par sélectionner l'élément LDAP Ext Users. Cliquez sur le bouton droit de la souris pour obtenir le menu Ajouter , puis sélectionnez AjouterÉlément de configuration → Paramètres par défaut des requêtes étendues LDAP . Ensuite, sélectionnez ce nouvel élément pour afficher son panneau de configuration.

Comme la plupart des éléments JMeter, le panneau de configuration LDAP Extended Request Defaults possède un champ de nom que vous pouvez modifier. Dans cet exemple, laissez ce champ avec la valeur par défaut.


  Figure 8b.2 Paramètres LDAP par défaut pour notre plan de test

Figure 8b.2 Paramètres LDAP par défaut pour notre plan de test

Pour chacune des différentes opérations, des valeurs par défaut peuvent être renseignées. Dans tous les cas, lorsqu'une valeur par défaut est renseignée, celle-ci est utilisée pour les requêtes étendues LDAP. Pour chaque requête, vous pouvez remplacer les valeurs par défaut en renseignant les valeurs dans l'échantillonneur de requête étendue LDAP. Lorsqu'aucune valeur nécessaire à un test n'est saisie, le test échouera de manière imprévisible !

Nous n'entrerons aucune valeur par défaut ici, car nous allons construire un très petit plan de test, nous expliquerons donc tous les différents champs lorsque nous ajouterons les échantillonneurs étendus LDAP.

8b.3 Ajout de requêtes LDAP

Dans notre plan de test, nous souhaitons utiliser les 9 requêtes LDAP.

  1. Liaison de fil
  2. Essai de recherche
  3. Comparer Tester
  4. Test de liaison/dissociation unique
  5. Ajouter un essai
  6. Modifier l'essai
  7. Renommer l'entrée (moddn)
  8. Supprimer l'essai
  9. Délier le fil

JMeter envoie les requêtes dans l'ordre dans lequel vous les ajoutez à l'arborescence.

L'ajout d'une requête commence toujours par :
Ajouter la requête étendue LDAP à l'élément Utilisateurs externes LDAP ( AjouterÉchantillonneurRequête externe LDAP ). Ensuite, sélectionnez l' élément LDAP Ext Request dans l'arborescence et modifiez les propriétés suivantes.

8b.3.1 Ajout d'une requête de liaison de thread

  1. Renommez l'élément : " 1. Thread bind "
  2. Sélectionnez le bouton " Thread bind ".
  3. Entrez la valeur du nom d'hôte du serveur LDAP dans le champ Nom du serveur
  4. Entrez le numéro de port du serveur LDAP ( 636 : ldap sur SSL) dans le champ port
  5. (Facultatif) Entrez le baseDN dans le champ DN, ce baseDN sera utilisé comme point de départ pour les recherches, les ajouts, les suppressions, etc.
    veillez à ce que ce soit le niveau partagé le plus élevé pour toutes vos demandes, par exemple lorsque toutes les informations sont stockées sous ou=Users, dc=test, dc=com , vous pouvez utiliser cette valeur dans basedn.
  6. (Facultatif) Entrez le nom distinctif de l'utilisateur que vous souhaitez utiliser pour l'authentification. Lorsque ce champ est laissé vide, une liaison anonyme sera établie.
  7. (Facultatif) Entrez le mot de passe de l'utilisateur avec lequel vous souhaitez vous authentifier, un mot de passe vide conduira également à une liaison anonyme.
  8. (Facultatif) Saisissez une valeur pour le délai d'expiration de la connexion avec LDAP
  9. (Facultatif) Cochez la case Utiliser le protocole LDAP sécurisé si vous accédez avec LDAP sur SSL (ldaps)
  10. (Facultatif) Cochez la case TrustAll si vous souhaitez que le client fasse confiance à tous les certificats


Illustration 8b.3.1.  Exemple de liaison de thread
Illustration 8b.3.1. Exemple de liaison de thread

8b.3.2 Ajouter une requête de recherche

  1. Renommez l'élément : " 2. Test de recherche "
  2. Sélectionnez le bouton « Rechercher le test ».
  3. (Facultatif) entrez la base de recherche sous laquelle vous souhaitez effectuer la recherche, par rapport au basedn, utilisé dans la demande de liaison de thread.
    Lorsqu'il est laissé vide, le basedn est utilisé comme base de recherche, ce fichier est important si vous souhaitez utiliser une recherche "base-entry" ou "one-level" (voir ci-dessous)
  4. Entrez le filtre de recherche, n'importe quel filtre de recherche LDAP décent fera l'affaire, mais pour l'instant, utilisez quelque chose de simple, comme (sn=Doe) ou (cn=*)
  5. (Facultatif) Entrez la portée dans le champ de portée, il y a trois options :
    1. baseobject search
      seule la base de recherche donnée est utilisée, uniquement pour vérifier les attributs ou l'existence.
    2. recherche
      à un niveau Seule la recherche dans un niveau en dessous de la base de recherche donnée est utilisée
    3. recherche de sous-arborescence
      Recherche un objet à tout point en dessous de la base donnée
  6. (Facultatif) Limite de taille, spécifie le nombre maximum d'entrées renvoyées,
  7. (Facultatif) Limite de temps, spécifie le nombre maximum de millisecondes que le SERVEUR peut utiliser pour effectuer la recherche. Ce n'est PAS le temps d'attente maximal de l'application.
    Lorsqu'un ensemble de retours très volumineux est renvoyé, à partir d'un serveur très rapide, sur une ligne très lente, vous devrez peut-être attendre longtemps pour que la requête de recherche soit terminée, mais ce paramètre n'influencera pas cela.
  8. (Facultatif) Attributs que vous souhaitez dans la réponse de recherche. Cela peut être utilisé pour limiter la taille de la réponse, en particulier lorsqu'un objet a de très grands attributs (comme jpegPhoto ). Il y a trois possibilités :
    1. Laisser vide (le paramètre par défaut doit également être vide) Cela renverra tous les attributs.
    2. Mettez une valeur vide ( "" ), il demandera un attribut inexistant, donc en réalité il ne renvoie aucun attribut
    3. Mettez les attributs, séparés par un point-virgule. Il renverra uniquement les attributs demandés
  9. (Facultatif) Renvoyer l'objet. Checked renverra tous les attributs de l'objet java, il les ajoutera aux attributs demandés, comme spécifié ci-dessus.
    Décoché signifie qu'aucun attribut d'objet Java ne sera renvoyé.
  10. (Facultatif) Déréférencez les alias. Coché signifiera qu'il suivra les références, décoché dit que non.
  11. (Facultatif) Analyser les résultats de la recherche ?. Coché signifiera qu'il obtient tous les résultats dans les données de réponse, non coché dit que non.


Illustration 8b.3.2.  exemple de demande de recherche
Illustration 8b.3.2. exemple de demande de recherche

8b.3.3 Ajout d'une demande de comparaison

  1. Renommez l'élément : " 3. Compare Test "
  2. Sélectionnez le bouton " Comparer ".
  3. entrez le nom d'entrée de l'objet sur lequel vous voulez que l'opération de comparaison fonctionne, par rapport à basedn, par exemple " cn=jdoe,ou=Users "
  4. Saisissez le filtre de comparaison, celui-ci doit être sous la forme " attribut=valeur ", par exemple " mail=jdoe@test.com "


Illustration 8b.3.3.  Exemple de comparaison
Illustration 8b.3.3. Exemple de comparaison

8b.3.4 Ajout d'une liaison/déliaison simple

  1. Renommez l'élément : " 4. Single bind/unbind Test "
  2. Sélectionnez le bouton " Liaison/déliaison simple ".
  3. Saisissez le nom distinctif COMPLET de l'utilisateur que vous souhaitez utiliser pour l'authentification.
    Par exemple cn=jdoe,ou=Users,dc=test,dc=com Lorsque ce champ est laissé vide, une liaison anonyme sera établie.
  4. Entrez le mot de passe de l'utilisateur avec lequel vous souhaitez vous authentifier, un mot de passe vide conduira également à une liaison anonyme.
Attention : Ce seul bind/unbind est en réalité deux opérations distinctes mais ne peut pas être facilement séparé !


Illustration 8b.3.4.  Exemple de liaison/dissociation unique
Illustration 8b.3.4. Exemple de liaison/dissociation unique

8b.3.5 Ajout d'une demande d'ajout

  1. Renommez l'élément : " 5. Ajouter un test "
  2. Sélectionnez le bouton " Ajouter ".
  3. Entrez le nom distinctif de l'objet à ajouter, par rapport à basedn.
  4. Ajoutez une ligne dans le tableau " add test ", renseignez l'attribut et la valeur.
    Lorsque vous avez besoin du même attribut plusieurs fois, ajoutez simplement une nouvelle ligne, ajoutez à nouveau l'attribut et une valeur différente.
    Tous les attributs et valeurs nécessaires doivent être spécifiés pour réussir le test, voir l'image !
    (parfois le serveur ajoute l'attribut " objectClass=top ", cela peut poser problème.


Illustration 8b.3.5.  Ajouter un exemple de demande
Illustration 8b.3.5. Ajouter un exemple de demande

8b.3.6 Ajout d'une demande de modification

  1. Renommez l'élément : " 6. Modifier Test "
  2. Sélectionnez le bouton « Modifier le test ».
  3. Saisissez le nom distinctif de l'objet à modifier, relatif à basedn.
  4. Ajouter une ligne dans le tableau " modifier test ", avec le bouton " ajouter ".
  5. Vous devez entrer l'attribut que vous souhaitez modifier, (facultatif) une valeur et l'opcode. La signification de cet opcode :
    ajouter
    cela signifie que la valeur de l'attribut (non facultative dans ce cas) sera ajoutée à l'attribut.
    Lorsque l'attribut n'existe pas, il sera créé et la valeur ajoutée
    . Lorsqu'il est existant et défini à plusieurs valeurs, la nouvelle valeur est ajoutée.
    quand il existe, mais à valeur unique, il échouera.
    remplacer
    Cela écrasera l'attribut avec la nouvelle valeur donnée (pas facultatif ici)
    Lorsque l'attribut n'existe pas, il sera créé et la valeur ajoutée
    . Lorsqu'il existe, les anciennes valeurs sont supprimées, la nouvelle valeur est ajoutée.
    effacer
    Lorsqu'aucune valeur n'est donnée, toutes les valeurs seront supprimées
    Lorsqu'une valeur est donnée, seule cette valeur sera supprimée
    lorsque la valeur donnée n'existe pas, le test échouera
  6. (Facultatif) Ajoutez d'autres modifications dans le tableau " modifier le test ".
    Toutes les modifications spécifiées doivent réussir pour que le test de modification réussisse. Lorsqu'une modification échoue, AUCUNE modification ne sera effectuée et l'entrée restera inchangée.


Illustration 8b.3.6.  Modifier l'exemple
Illustration 8b.3.6. Modifier l'exemple

8b.3.7 Ajout d'une requête de changement de nom (moddn)

  1. Renommez l'élément : " 7. Renommer l'entrée (moddn) "
  2. Sélectionnez le bouton " Renommer l'entrée ".
  3. Entrez le nom de l'entrée, relatif au baseDN, dans le champ " ancien nom d'entrée ".
    c'est-à-dire que si vous voulez renommer " cn=Little John Doe,ou=Users " et que vous définissez le baseDN sur " dc=test,dc=com ", vous devez entrer " cn=John Junior Doe,ou=Users " dans l' ancien nom d'entrée -Field.
  4. Entrez le nouveau nom de l'entrée, relatif au baseDN, dans le champ " nouveau nom distinctif ".
    lorsque vous ne modifiez que le RDN, il renommera simplement l'entrée
    lorsque vous ajouterez également une sous-arborescence différente, par exemple si vous passez de cn=john doe,ou=Users à cn=john doe,ou=oldusers , il déplacera l'entrée. Vous pouvez également déplacer une sous-arborescence complète (si votre serveur LDAP le prend en charge !), par exemple ou=Users,ou=retired , vers ou=oldusers,ou=users , cela déplacera la sous-arborescence complète, ainsi que toutes les personnes retraitées de la sous-arborescence vers la nouvelle place dans l'arbre.


Illustration 8b.3.7.  Renommer l'exemple
Illustration 8b.3.7. Renommer l'exemple

8b.3.8 Ajout d'une demande de suppression

  1. Renommez l'élément : " 8. Supprimer le test "
  2. Sélectionnez le bouton " Supprimer ".
  3. Entrez le nom de l'entrée, par rapport au baseDN, dans le champ Delete .
    c'est-à-dire que si vous souhaitez supprimer " cn=John Junior Doe,ou=Users,dc=test,dc=com " et que vous définissez le baseDN sur " dc=test,dc=com ", vous devez saisir " cn =John Junior Doe,ou=Utilisateurs " dans le champ Supprimer .


Illustration 8b.3.8.  Supprimer l'exemple
Illustration 8b.3.8. Supprimer l'exemple

8b.3.9 Ajout d'une requête non liée

  1. Renommez l'élément : " 9. Thread unbind "
  2. Sélectionnez le bouton « Délier le fil ». Cela suffira car cela ferme simplement la connexion actuelle. Les informations nécessaires sont déjà connues du système


Illustration 8b.3.9.  Exemple de délier
Illustration 8b.3.9. Exemple de délier

8b.4 Ajout d'un écouteur pour afficher/stocker les résultats du test

Le dernier élément que vous devez ajouter à votre plan de test est un écouteur. Cet élément est chargé de stocker tous les résultats de vos requêtes LDAP dans un fichier et de présenter un modèle visuel des données. Sélectionnez l'élément de groupe Thread et ajoutez une arborescence de résultats d'affichage ( AjouterÉcouteurAfficher l'arborescence des résultats )


Illustration 8b.4.  Afficher l'écouteur de l'arborescence des résultats
Illustration 8b.4. Afficher l'écouteur de l'arborescence des résultats

Dans cet écouteur, vous avez trois onglets à afficher, le résultat de l'échantillonneur, la demande et les données de réponse.

  1. Le résultat de l'échantillonneur contient juste le temps de réponse, le code de retour et le message de retour
  2. La demande donne une brève description de la demande qui a été faite, en pratique aucune information pertinente n'est contenue ici.
  3. Les données de réponse contiennent tous les détails de la demande envoyée, ainsi que tous les détails de la réponse reçue, ceci est donné dans un style xml (auto-défini). La description complète peut être trouvée ici.

Go to top