Parfois, lorsque vous configurez la surveillance HTTP(S) ou un test de charge pour vérifier les performances de votre site Web ou de votre API, vous devez envoyer des requêtes HTTP avec une charge utile changeant dynamiquement. 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 utilisez la syntaxe Razor dans le champ Publier des données , utilisez le préfixe @ pour marquer le texte suivant en tant qu’élément de code C# (expressions insérées, blocs d’instruction unique ou blocs d’instructions multiples). 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

Disons que nous voulons envoyer un ID de périphérique et un marqueur de test dans un corps de requête HTTP, puis nous devons configurer le champ Publier les données 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);

Où le paramètre currentTask ne dépend pas d’un nom de tâche et possède le type de tâche en cours de traitement.

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, "%%%");

Où le paramètre currentTask ne dépend pas d’un nom de tâche et possède le type de tâche en cours de traitement.