2013-05-31 3 views
0

J'utilise WatiN et j'ai besoin de déterminer si une image a été chargée. Dans mon cas, je reçois le X rouge sur la page, mais quand je l'utilise ...Comment déterminer si l'image est chargée avec WatiN

var image = WebBrowser.Current.Image(imageName); 
if (!image.Exists) 
    { 
    Assert.Fail(string.Format("Could not find '{0}' image on the page", imageName)); 
    } 

... l'assertion ne manque pas parce que le nom de l'image existe sur la page. MAIS ce n'est pas chargé.

Existe-t-il un moyen d'utiliser WatiN pour évaluer avec JQuery ou quelque chose qui me dit quand je reçois le X rouge? J'ai essayé toutes les méthodes et propriétés de WebBrowser.Current.Image en vain.

Répondre

0

Si je comprends bien, vous essayez de trouver l'attribut image par nom. Si l'attribut name est « image_name_attr » (vous pouvez le vérifier en Firebug) utilisez ceci:

WebBrowser.Current.Image(Find.ByName("image_name_attr")); //constraint 

S'il y a un nom de classe sur l'image que vous pouvez utiliser:

WebBrowser.Current.Image(Find.ByClass("image_class_attr")); 
+0

J'espère une réponse différente. J'essaie de trouver l'image par son nom et de voir si elle est chargée. Trouver simplement le nom ne suffit pas car le nom existe dans le DOM, que l'image ait été chargée ou non. L'équipe de développement a changé le nom du chemin et le chemin est incorrect et la page n'affiche qu'un X rouge. – user2442005

+0

Que voulez-vous dire par nom? pouvez-vous ajouter le code HTML. – alonp

0

Le Assertion est ne pas manquer parce que WatiN fait exactement ce qu'il devrait; il vérifie si l'élément html de l'image existe. Ce que vous devez vérifier, c'est si le fichier existe sur le serveur.

Jetez un oeil à cette question SO/réponse - J'ai utilisé cette approche dans le passé et cela a fonctionné très bien. Test to see if an image exists in C#

Questions connexes