Remplacer les paramètres dans une requête d’URL
Lorsque vous capturez une application web à l’aide de l’Éditeur d’application web, elle peut inclure des informations uniques dans une ou plusieurs demandes qui changent chaque fois que vous vous connectez à l’application. Ces informations sont généralement incluses dans la réponse à une demande, puis utilisées par une ou plusieurs demandes ultérieures.
Par exemple, une application peut créer un ID de session unique lorsqu’un utilisateur se connecte. Cet ID de session doit être inclus dans chaque requête après le processus de connexion. Sans l’ID de session correct, chacune de ces requêtes échoue. Étant donné que vous ne savez pas quelle est cette valeur tant que la première requête n’est pas exécutée, elle ne peut pas être incluse explicitement dans la configuration de la requête. Si vous créez l’application web en enregistrant une session de navigateur, l’ID de session est collecté dans l’URL de chaque requête. Toutefois, lorsque l’application est exécutée, les requêtes échouent, car l’ID de session a une valeur différente de l’ID de session enregistré.
Pour configurer une telle application, vous pouvez extraire un paramètre de contexte à partir du corps de la réponse d’une requête et utiliser la valeur de ce paramètre dans une ou plusieurs requêtes ultérieures. Vous remplacez ensuite la valeur explicite dans les requêtes suivantes par une variable qui représente le paramètre. Chaque fois que la transaction synthétique est exécutée, le paramètre est renseigné dans la requête où elle est définie. Lorsque la variable est utilisée dans les requêtes suivantes, elle est remplacée par la valeur collectée avant l’envoi de la demande à l’application.
Une application unique peut utiliser n’importe quel nombre de paramètres de contexte. Un nombre quelconque de requêtes peut utiliser un seul paramètre, mais doit être exécuté après la requête où le paramètre est défini.
Exemple d’ID de session
Prenons l’exemple où une application crée un ID de session lorsqu’un utilisateur se connecte. Cet ID de session est requis dans chaque requête après la page de connexion. Pour implémenter ce scénario, vous devez capturer l’ID de session lorsqu’il est généré pour la première fois, puis utiliser cette valeur dans chaque requête suivante.
Vous commencez par utiliser le processus décrit dans Comment capturer l’enregistrement d’application web pour capturer la connexion et les actions suivantes. La session enregistrée pour la connexion à l’application et l’exécution de certaines actions peut ressembler à l’exemple suivant.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721
http://www.myapp.com/results.aspx?sessionid=32793279321721
http://www.myapp.com/submit.aspx?sessionid=32793279321721
Dans cette séquence de requêtes, l’ID de session est créé par la première requête et utilisée dans les deuxième, troisième et quatrième requêtes. Lorsque vous exécutez ce moniteur, il échoue, car la première requête génère un nouvel ID de session qui ne peut pas correspondre à l’ID de session utilisé lors de la capture de la session.
Pour configurer cette séquence de requêtes avec remplacement de paramètre, vous devez créer une règle d’extraction sur la première requête pour créer un paramètre de contexte pour l’ID de session. La règle d’extraction inspecte le corps de la requête pour rechercher la valeur de la variable sessionid. Vous devez ensuite modifier les demandes suivantes pour utiliser ce paramètre au lieu de la valeur de l’ID de session.
Les demandes modifiées ressemblent à l’exemple suivant.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$
http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$
http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$
Créer une règle d’extraction
Les paramètres de contexte sont collectés par une règle d’extraction, et chaque règle d’extraction collecte un paramètre de contexte unique. Vous créez une règle d’extraction dans la boîte de dialogue Propriétés de la requête qui génère initialement les données requises. Pour identifier la valeur à extraire, vous devez afficher le corps de la réponse retournée à partir de la demande particulière. Vous pouvez afficher la source de la page retournée dans le navigateur ou utiliser un outil qui vous permet d’inspecter les détails des réponses HTTP. Vous ne pouvez pas afficher le texte à l’aide de l’éditeur d’application web.
Lorsque vous avez identifié la requête qui contient les informations que vous devez extraire, vous affichez l’onglet Règles d’extraction dans les propriétés de cette demande et créez une ou plusieurs règles d’extraction. Les détails de chaque règle d’extraction sont indiqués dans le tableau suivant.
Option | Description |
---|---|
Nom du paramètre de contexte | Entrez le nom pour donner le paramètre de contexte. |
Commence par | Entrez le texte dans le corps de la réponse qui identifie le début de la valeur du paramètre. Vous devez spécifier suffisamment de caractères pour vous assurer que la chaîne est unique. La valeur du paramètre démarre immédiatement après le dernier caractère spécifié. |
Se termine par | Entrez le texte dans le corps de la réponse qui identifie la fin de la valeur du paramètre. La valeur du paramètre se termine immédiatement avant le premier caractère spécifié. |
Index | Si le texte de la zone Commence par apparaît plusieurs fois, cette valeur indique quelle valeur utiliser. Si le texte n’apparaît qu’une seule fois ou si la première occurrence de celui-ci affiche le texte à extraire, la valeur doit être 0. Si la deuxième valeur doit être extraite, la valeur doit être 1, et ainsi de suite. |
Ignorer la casse lors de la recherche de texte correspondant | Spécifie s’il faut ignorer la casse des caractères recherchés par les zones Commence par et Se termine par. |
Effectuer l’encodage d’URI des chaînes extraites | Spécifie s’il faut encoder la chaîne extraite après sa collecte. |
Insérer un paramètre dans une requête
Vous utilisez un paramètre dans une requête en remplaçant la valeur explicite par une variable représentant le paramètre. Le format de la variable est $ParametersContext/<nom_paramètre_contexte>$. Lorsque la requête est exécutée, la variable est remplacée par les données extraites par le paramètre.
Vous pouvez insérer la variable dans la requête à l’aide de l’une des deux méthodes suivantes :
- Dans la boîte de dialogue Propriétés de la requête, sélectionnez l’onglet Général , puis sélectionnez URL de la demande pour modifier l’URL de la demande.
- Dans la boîte de dialogue Propriétés de la demande, sélectionnez l’onglet Général , puis sélectionnez le bouton Insérer un paramètre . Utilisez la boîte de dialogue Insérer un paramètre pour la requête. Cette opération est accessible à partir du bouton Insérer un paramètre sous l’onglet Général de la boîte de dialogue Propriétés de la demande.
Exemple d’application web à l’aide de l’extraction de paramètres
La procédure suivante fournit un exemple d’utilisation de l’extraction de paramètres dans une application web. Dans cet exemple, une requête est exécutée pour retourner la première entrée de la section Popular Now (Meilleures ventes actuelles) de la Page d’accueil de Bing. Étant donné que cette valeur change régulièrement, vous devez d’abord vous connecter à la page principale et collecter le terme de recherche à partir du corps de la réponse. Vous utilisez ensuite ce terme pour générer la requête pour effectuer la recherche réelle.
Voici la page Bing principale avec la section Popular Now encadrée.
Pour déterminer où, dans le corps de la réponse, le terme de recherche s’affiche, vous pouvez afficher la source de la page. Une partie de la source figure ci-dessous avec le code HTML de la section Popular Now. Dans ce code HTML, vous avez uniquement besoin de la chaîne de recherche, mise en surbrillance dans l’illustration suivante. La requête est formée à partir de https://www.bing.com cette chaîne.
Vous pouvez simplement extraire le terme lui-même, mais il est plus simple d’inclure la chaîne entière dans le paramètre. Cette chaîne est précédée des caractères <h3>Popular now</h3><ul><li><a href=> et se termine par l’occurrence suivante de ". Il s’agit des valeurs que vous allez utiliser lorsque vous définissez l’extraction des paramètres.
Enregistrer un exemple d’application web
- Utilisez la procédure dans How to Capture Web Application Recording pour enregistrer une application web.
- Lors de l’enregistrement, connectez-vous à https://www.bing.com.
- Si vous le souhaitez, utilisez l’option de votre navigateur permettant d’afficher la source de la Page d’accueil de Bing et localisez la section Popular Now du code HTML.
- Sélectionnez le premier terme de recherche sous Popular Now.
- Enregistrez l’enregistrement dans l’application web.
- Supprimez la dernière requête, car cela n’est pas obligatoire. Pour supprimer la dernière requête, sélectionnez la demande, puis sélectionnez Supprimer dans le volet Actions. Les requêtes résultantes doivent ressembler aux URL suivantes :
Créer une règle d’extraction
Sélectionnez la première requête, puis sélectionnez Propriétés dans le volet Actions.
Sélectionnez l’onglet Règles d’extraction.
Sélectionnez Ajouter. La boîte de dialogue Ajouter une règle d’extraction s’ouvre.
Dans la boîte de dialogue Ajouter une règle d’extraction, dans la zone nom du paramètre de contexte, entrez SearchString.
Dans la zone Démarrer avec , entrez <h3>Populaire maintenant</h3><ul><li><a href=>.
Dans la zone Se termine par la case , entrez « . La règle d’extraction doit ressembler à l’illustration suivante.
Sélectionnez OK pour enregistrer et fermer la règle d’extraction.
Sélectionnez OK pour enregistrer et fermer la requête.
Insérer un paramètre dans une requête
Sélectionnez la deuxième requête, puis sélectionnez Propriétés dans le volet Actions.
Sous l’onglet Général , sélectionnez Insérer un paramètre.
Dans la zone Chaîne, supprimez tout le texte situé après www.bing.com/.
Avec le curseur positionné à la fin de l’URL, juste après www.bing.com, sélectionnez SearchString dans la zone Paramètres, puis sélectionnez Insérer. Cela insère la variable $ParametersContext/SearchString$. La requête finale ressemble à l’illustration suivante.
Sélectionnez OK pour fermer la boîte de dialogue.
Sélectionnez OK pour enregistrer et fermer la requête. La séquence de requête modifiée doit ressembler à l’illustration suivante.
Sélectionnez Appliquer pour appliquer les modifications, puis fermez l’éditeur d’application web.