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 Add → Threads (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.
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.
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.
- Liaison de fil
- Essai de recherche
- Comparer Tester
- Test de liaison/dissociation unique
- Ajouter un essai
- Modifier l'essai
- Renommer l'entrée (moddn)
- Supprimer l'essai
- 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 →
Échantillonneur → Requê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 ¶
- Renommez l'élément : " 1. Thread bind "
- Sélectionnez le bouton " Thread bind ".
- Entrez la valeur du nom d'hôte du serveur LDAP dans le champ Nom du serveur
- Entrez le numéro de port du serveur LDAP ( 636 : ldap sur SSL) dans le champ port
-
(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.
- (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.
- (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.
- (Facultatif) Saisissez une valeur pour le délai d'expiration de la connexion avec LDAP
- (Facultatif) Cochez la case Utiliser le protocole LDAP sécurisé si vous accédez avec LDAP sur SSL (ldaps)
- (Facultatif) Cochez la case TrustAll si vous souhaitez que le client fasse confiance à tous les certificats
8b.3.2 Ajouter une requête de recherche ¶
- Renommez l'élément : " 2. Test de recherche "
- Sélectionnez le bouton « Rechercher le test ».
-
(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) - 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=*)
-
(Facultatif) Entrez la portée dans le champ de portée, il y a trois options :
- baseobject search
seule la base de recherche donnée est utilisée, uniquement pour vérifier les attributs ou l'existence. - recherche
à un niveau Seule la recherche dans un niveau en dessous de la base de recherche donnée est utilisée - recherche de sous-arborescence
Recherche un objet à tout point en dessous de la base donnée
- baseobject search
- (Facultatif) Limite de taille, spécifie le nombre maximum d'entrées renvoyées,
-
(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. -
(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 :
- Laisser vide (le paramètre par défaut doit également être vide) Cela renverra tous les attributs.
- Mettez une valeur vide ( "" ), il demandera un attribut inexistant, donc en réalité il ne renvoie aucun attribut
- Mettez les attributs, séparés par un point-virgule. Il renverra uniquement les attributs demandés
-
(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é. - (Facultatif) Déréférencez les alias. Coché signifiera qu'il suivra les références, décoché dit que non.
- (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.
8b.3.3 Ajout d'une demande de comparaison ¶
- Renommez l'élément : " 3. Compare Test "
- Sélectionnez le bouton " Comparer ".
- 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 "
- Saisissez le filtre de comparaison, celui-ci doit être sous la forme " attribut=valeur ", par exemple " mail=jdoe@test.com "
8b.3.4 Ajout d'une liaison/déliaison simple ¶
- Renommez l'élément : " 4. Single bind/unbind Test "
- Sélectionnez le bouton " Liaison/déliaison simple ".
-
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. - Entrez le mot de passe de l'utilisateur avec lequel vous souhaitez vous authentifier, un mot de passe vide conduira également à une liaison anonyme.
8b.3.5 Ajout d'une demande d'ajout ¶
- Renommez l'élément : " 5. Ajouter un test "
- Sélectionnez le bouton " Ajouter ".
- Entrez le nom distinctif de l'objet à ajouter, par rapport à basedn.
-
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.
8b.3.6 Ajout d'une demande de modification ¶
- Renommez l'élément : " 6. Modifier Test "
- Sélectionnez le bouton « Modifier le test ».
- Saisissez le nom distinctif de l'objet à modifier, relatif à basedn.
- Ajouter une ligne dans le tableau " modifier test ", avec le bouton " ajouter ".
-
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
-
(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.
8b.3.7 Ajout d'une requête de changement de nom (moddn) ¶
- Renommez l'élément : " 7. Renommer l'entrée (moddn) "
- Sélectionnez le bouton " Renommer l'entrée ".
-
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. -
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.
8b.3.8 Ajout d'une demande de suppression ¶
- Renommez l'élément : " 8. Supprimer le test "
- Sélectionnez le bouton " Supprimer ".
-
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 .
8b.3.9 Ajout d'une requête non liée ¶
- Renommez l'élément : " 9. Thread unbind "
- 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
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 → Écouteur → Afficher 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.
- Le résultat de l'échantillonneur contient juste le temps de réponse, le code de retour et le message de retour
- La demande donne une brève description de la demande qui a été faite, en pratique aucune information pertinente n'est contenue ici.
- 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.