Comment faire pour remplacer des paramètres dans une requête d'URL
S'applique à: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
Lorsque vous capturez une application web à l'aide de l'éditeur d'applications Web, il peut inclure des informations uniques dans une ou plusieurs demandes qui change chaque fois que vous vous connectez à l'application. Ces informations sont généralement incluses dans la réponse à une demande et ensuite utilisées par une ou plusieurs demandes suivantes.
Par exemple, une application peut créer un ID de session unique lorsqu'un utilisateur ouvre une session. Cet ID de session doit être inclus dans chaque demande après le processus d'ouverture de session. Sans un ID de session corrects, chacune de ces requêtes échoue. Étant donné que vous ne savez pas ce que cette valeur jusqu'à ce que la première requête est exécutée, elle ne peut pas être explicitement inclus dans la configuration de la demande. Si vous créez l'application web en enregistrant une session de navigateur, l'ID de session est collecté dans l'URL de chaque demande. 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ée.
Pour configurer ce type d'application, vous pouvez extraire un paramètre de contexte du corps de la réponse d'une requête et utiliser la valeur de ce paramètre dans une ou plusieurs demandes suivantes. Ensuite, vous remplacez la valeur explicite dans les demandes suivantes avec une variable qui représente le paramètre. Chaque exécution de la transaction de synthèse, le paramètre est rempli dans la demande où elle est définie. Lorsque la variable est utilisée dans les demandes suivantes, il est remplacé par la valeur collecte avant que la demande est envoyée à l'application.
Une application peut utiliser n'importe quel nombre de paramètres de contexte. N'importe quel nombre de requêtes peut utiliser un seul paramètre, mais doit être exécuté après la demande 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 ouvre une session. Cet ID de session est requise dans chaque demande après la page d'ouverture de session. Pour implémenter ce scénario, vous devez capturer l'ID de session lors de la première génération, puis utiliser cette valeur dans chaque demande ultérieure.
Vous démarrez à l'aide de la procédure décrite dans Comment faire pour capturer l'enregistrement de l'Application Web pour capturer l'ouverture de session et les actions suivantes. La session enregistrée pour la connexion à l'application et effectuer 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 demande, l'ID de session est créé par la première requête et utilisée dans la deuxième, la troisième et la quatrième demandes. Lorsque vous exécutez cette analyse, il échoue parce que 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 session a été capturée.
Pour configurer cette séquence de demande avec remplacement de paramètres, vous devez créer une règle d'extraction à 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 sessionid variable. Vous modifiez ensuite les demandes suivantes pour utiliser ce paramètre au lieu de la valeur pour l'ID de session.
Les demandes de modification ressembler à 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éation d'une règle d'Extraction
Paramètres de contexte sont collectées par une 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 le propriétés boîte de dialogue 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 par la requête 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'applications Web.
Lorsque vous avez identifié la demande contenant les informations que vous devez extraire, vous permet d'afficher les les règles d'Extraction onglet dans les propriétés de la demande et de créer une ou plusieurs règles d'extraction. Les détails de chaque règle d'extraction sont affichés dans le tableau suivant.
Option |
Description |
---|---|
Nom de paramètre de contexte |
Entrez le nom à 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 commence immédiatement après que le dernier caractère de 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 dans le commence par zone se produit plusieurs fois, cette valeur indique la valeur à utiliser. Si le texte apparaît uniquement une fois, ou la première occurrence de l'il affiche le texte à extraire, la valeur doit être 0. Si la valeur de seconde doit être extraites, la valeur doit être 1 et ainsi de suite. |
Ignorer la casse lors de la recherche de correspondance de texte |
Spécifie s'il faut ignorer la casse des caractères recherchés par le commence par et se termine par cases. |
Effectuer l'encodage de l'URI de chaînes extraites |
Spécifie s'il faut encoder la chaîne extraite après leur collecte. |
Insertion d'un paramètre dans une requête
Vous utilisez un paramètre dans une requête en remplaçant la valeur par une variable qui représente le paramètre. Le format de la variable est $ParametersContext/<ContextParameterName>$. 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 en utilisant l'une des deux méthodes suivantes :
Dans le Propriétés de la demande boîte de dialogue, cliquez sur le Général onglet, puis cliquez sur URL de demande pour modifier l'URL de demande pour la demande.
Dans le Propriétés de la demande boîte de dialogue, cliquez sur le Général onglet, puis cliquez sur le Insérer un paramètre bouton. Utilisez le Insérer un paramètre boîte de dialogue pour la demande. Ceci est accessible à partir de la Insérer un paramètre bouton sur le Général onglet le Propriétés de la demande boîte de dialogue pour la demande.
Exemple d'Application Web à l'aide du paramètre Extraction
La procédure suivante fournit un exemple d'utilisation d'extraction de paramètre dans une application web. Cet exemple exécute une requête pour la première entrée de la populaires maintenant section de la page d'accueil Bing. Étant donné que cette valeur change régulièrement, vous devez tout 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.
La page principale de Bing ci-dessous avec le populaires maintenant section mis en surbrillance.
Pour déterminer l'emplacement dans le corps de réponse le terme de recherche s'affiche, vous pouvez afficher la source de la page. Une partie de la source est affichée ci-dessous avec le code HTML de la populaires maintenant section. Dans ce code HTML, vous devez uniquement la chaîne de recherche est mis en surbrillance dans l'illustration suivante. La requête est formée à partir de https://www.bing.com suivi par cette chaîne.
Vous pourriez extraire uniquement 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 par les caractères maintenant les standard < h3 > < / h3 >< ul >< li >< un href = " et se termine par l'occurrence suivante de ". Ce sont les valeurs que vous utiliserez lorsque vous définissez l'extraction du paramètre.
Pour enregistrer un exemple d'application web
-
Utilisez la procédure décrite dans Comment faire pour capturer l'enregistrement de l'Application Web pour enregistrer une application web.
-
Lors de l'enregistrement, connectez-vous à https://www.bing.com.
-
Éventuellement, utilisez l'option de votre navigateur pour afficher la source de la page d'accueil Bing et localiser les populaires maintenant section du code HTML.
-
Cliquez sur la première recherche de terme sous populaires maintenant.
-
Enregistrez l'enregistrement à l'application web.
-
Supprimez la dernière demande, car ce n'est pas requis. Pour supprimer la dernière demande, sélectionnez la requête, puis cliquez sur Supprimer dans les Actions volet. Les requêtes qui en résulte doivent être similaires aux URL suivantes :
Pour créer une règle d'extraction
-
Sélectionnez la première requête, puis cliquez sur propriétés dans les Actions volet.
-
Sélectionnez le les règles d'Extraction onglet.
-
Cliquez sur Ajouter. Le Ajouter une règle d'Extraction boîte de dialogue s'ouvre.
-
Dans le Ajouter une règle d'Extraction boîte de dialogue du nom de paramètre de contexte tapez SearchString.
-
Dans le commence par tapez maintenant les standard < h3 > < / h3 >< ul >< li >< un href = ".
-
Dans le se termine par tapez ». La règle d'extraction doit ressembler à l'illustration suivante.
-
Cliquez sur OK pour enregistrer et fermer la règle d'extraction.
-
Cliquez sur OK pour enregistrer et fermer la demande.
Pour insérer un paramètre dans une requête
-
Sélectionnez la seconde requête, puis cliquez sur propriétés dans les Actions volet.
-
Sur le Général cliquez sur Insérer un paramètre.
-
Dans le chaîne box, supprimez tout le texte après www.bing.com/.
-
Le curseur est positionné à la fin de l'URL, juste après www.bing.com, sélectionnez SearchString dans les paramètres zone, puis cliquez sur Insérer. Cela permet d'insérer la variable $ParametersContext/SearchString$. La dernière demande ressemble à l'illustration suivante.
-
Cliquez sur OK pour fermer la boîte de dialogue.
-
Cliquez sur OK pour enregistrer et fermer la demande. La séquence de demande modifiée doit ressembler à l'illustration suivante.
-
Cliquez sur appliquer pour appliquer les modifications, puis fermez le Éditeur d'applications Web.