Parfois, lorsque vous configurez la surveillance HTTP(S) pour vérifier les performances de votre site Web ou de votre API, vous devez envoyer des demandes HTTP avec une charge utile en évolution dynamique. Par exemple, vous devrez peut-être envoyer un JSON avec un identifiant de produit unique pour ajouter un nouveau produit à la base de données de l’application de commerce électronique, ou une date et une heure réelles à un serveur Web, etc. Ou, disons que vous devez parametrize une charge utile pour charger tester votre API.

Dotcom-Monitor prend en charge la syntaxe Razor et les masques de données pour permettre aux utilisateurs de configurer des demandes HTTP dynamiquement changeantes et paramétrisées à des fins de surveillance web et de test de charge.

En général, la configuration dynamique de la charge utile comprend deux étapes de base :

  • Spécifier les données corporelles avec des paramètres dynamiques (JSON, XML, Texte, JavaScript, HTML) dans le champ Données postaux (Patch, Put).
  • Déclaration d’une méthode d’parsing dans le champ Préparer le script. Si la méthode d’analyse n’est pas spécifiée, le système traitera les données corporelles sous forme de texte.

S’il est nécessaire de paramtriser les données corporelles d’une demande HTTP, les paramètres de contexte correspondants peuvent être déclarés dans le champ Préparer le script ou avec
l’option Paramètres de contexte de
gestion.

Utilisation de Razor Engine

Les données JSON ou le contenu du script qui est transmis dans le corps de la demande HTTP peuvent être modifiés dynamiquement à l’aide de la syntaxe du moteur Razor. Lorsque vous travaillez avec la syntaxe Razor dans le champ De données post, utilisez le préfixe @ pour marquer le texte suivant comme un élément de code C # (expressions en ligne, blocs d’instruction unique, ou bloc multi-instructions). Pour plus d’informations sur la syntaxe Razor, veuillez visiter https://www.w3schools.com/asp/razor_syntax.asp.

En cas d’erreurs détectées dans la syntaxe Razor lors de l’agencement du corps de demande, une erreur sera générée et ajoutée au rapport d’exécution du test.

Dotcom-Monitor prend en charge le modèle Razor (définit la structure d’un message d’entrée Razor) avec les propriétés suivantes :

  • @Model.DeviceID – une variable qui renvoie un identificateur unique du dispositif de surveillance actuel.
  • @Model.TaskID – une variable qui renvoie un identificateur unique de la tâche de surveillance actuelle.
  • @Model.SessionID – une variable qui renvoie un identificateur unique de la session de suivi en cours.

Vous pouvez utiliser des paramètres context contextaux dans les expressions Razor. Pour se référer à un paramètre de contexte dans une expression Razor, enveloppez la référence au paramètre de contexte dans les supports carrés [ ] et enfermez son nom en doubles guillemets :

@Model["ContextParameterName"]

Pour aviser le système que les données d’un organisme de demande doivent être analysées par le moteur Razor, dans le champ Préparer le script, ajoutez la méthode ProcessPostDataByRazor (currentTask). Dans le cas contraire, les éléments de code des données postaux seront analyses sous forme de texte.

exemple

Supposons que nous voulons envoyer un identifiant d’appareil et un marqueur de test dans un organisme de demande HTTP, alors nous devons configurer le champ De données post comme suit :

{ "Device": "@Model.DeviceID", "ContextTest": "@Model["Test"]" }

Ensuite, nous devons définir la valeur des paramètres de contexte et la méthode d’parsage dans le champ Préparer le script :

context.Test = "Website Availability Monitoring";
ProcessPostDataByRazor(currentTask);

Lorsque le paramètre CurrentTask ne dépend pas d’un nom de tâche et a le type de tâche qui est actuellement traitée.

Utilisation de masques de données dans les demandes HTTP

Vous pouvez référencer les paramètres de contexte dans un corps POST en enveloppant votre référence de nom de paramètre dans des signes marqueurs de chaque côté. Ainsi, une référence à un paramètre de contexte «GUID» sera entré comme ceci:

{"ContextGuid": "%%%Guid%%%"}

Ici, les signes pour cent indiquent au système qu’il s’agit d’une référence de paramètres contexturaux et non d’une partie d’une chaîne.

Pour informer le système que les données d’un organisme de demande doivent être analysées par un masque spécifié, dans le champ Préparer le script, ajoutez le ProcessPostDataByMask (currentTask, « signes marqueurs »). Dans le cas contraire, le paramètre de contexte sera ignoré et adopté sous forme de texte. Pour l’exemple fourni ci-dessus, le champ Préparer le script contiendrait la chaîne suivante :

ProcessPostDataByMask(currentTask, "%%%");

Lorsque le paramètre CurrentTask ne dépend pas d’un nom de tâche et a le type de tâche qui est actuellement traitée.