Webtestplugin - ignorer des urls lors d'un test web visual studio

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 019 fois - Téléchargée 16 fois

Contenu du snippet

Lorsque l?on fait un test web avec Visual Studio, celui-ci charge les dépendances de la page : images, scripts, css, etc. Dans certains cas, il est possible que les images ne soient pas sur le serveur sur lequel on fait les tests, nous ne voulons alors pas récupérer ses fichiers.

Cette source est un plugin à test web Visual studio permettant d'ignorer les urls externes.
Plus d'infos est disponible ici : http://tinyurl.com/yh7mprh

Source / Exemple :


public class IgnoreExternalFileFilter : WebTestPlugin
    {

        private String _hostName;

        private const String WebServerParameterName = "WebServerName";

        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            this._hostName = new Uri((String)e.WebTest.Context[WebServerParameterName]).Host;

            if (!IsUrlValid(e.Request.Url))
                e.Instruction = WebTestExecutionInstruction.Skip;
            else
                base.PreRequest(sender, e);
        }

        public override void PostRequest(object sender, PostRequestEventArgs e)
        {
            for (int i = e.Request.DependentRequests.Count - 1; i > 0; i--)
            {
                WebTestRequest request = e.Request.DependentRequests[i];
                if (!IsUrlValid(request.Url))
                {
                    e.Request.DependentRequests.RemoveAt(i);
                }
            }
            base.PostRequest(sender, e);
        }

        private Boolean IsUrlValid(String urlToValidate)
        {
            Uri uriToValidate = new Uri(urlToValidate);
            return String.Equals(uriToValidate.Host, _hostName, StringComparison.InvariantCultureIgnoreCase);
        }
    }

Conclusion :


Afin de l'utiliser il suffit de rajouter la classe dans le projet de test, puis d'ajouter un plugin au test web.

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_eagleleader

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.