WebTest : Créer une règle de validation personnalisée
Dans un test WebTest de Visual Studio Team Test, on peut demander la validation du retour d’une page grâce à une ou plusieurs règles de validation. On pourra ainsi automatiquement valider le temps de réponse, l’url de retour, la présence d’une balise HTML, etc.
Dans le cadre de l’extensibilité de fonctionnalités du framework de test, on a notamment la possibilité de créer de nouvelles règles de validation. De mon point de vue, celle dont l’absence se fait le plus sentir est celle qui permettrait de valider la taille de la page retournée, mais on peut imaginer tout type de règle de validation, selon nos besoins.
Ajouter une telle règle est extrêmement simple. Il suffit de créer une classe qui hérite de la classe abstraite « ValidationRule ».
On surcharge la méthode « Validate » et on implémente la logique de validation. On ajoute les propriétés dont on a besoin et le tour est joué !
Voici un exemple d’implémentation de la règle de validation de taille d’une page :
[DisplayName("Page Size Validation Rule")]
public class PageSizeValidationRule : ValidationRule
{
[DefaultValue(0), DisplayName("Maximum Page Size (Bytes)")]
public int MaxSize { get; set; }
public override void Validate(object sender, ValidationEventArgs e)
{
if (MaxSize > 0 && e.Response.ContentLength > MaxSize)
{
e.IsValid = false;
e.Message = string.Format("The page size ({0} Bytes) was higher than the maximum allowed ({1} Bytes).",
e.Response.ContentLength, MaxSize);
}
}
}
Il suffit de mettre à jour la propriété « IsValid » de l’objet ValidationEventArgs que l’on récupère.
Notez également les attributs au niveau de la classe et de la propriété pour personnaliser le texte qu’on retrouvera dans l’interface d’édition lors de l’ajout de cette règle dans un test web.
Enfin, pour utiliser cette règle, il suffit de référencer la librairie la contenant, elle sera automatiquement detectée par Visual Studio lorsque vous demanderez l’ajout d’une règle sur une requète d’un test web.
.Dispose() ;
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :