我正在使用WatiN,我需要确定是否已加载图像。在我的情况下,我得到页面上的红色X,但是当我使用...
var image = WebBrowser.Current.Image(imageName);
if (!image.Exists)
{
Assert.Fail(string.Format("Could not find '{0}' image on the page", imageName));
}
... Assert不会失败,因为页面上确实存在图像的名称。但它没有加载。
有没有办法使用WatiN来评估使用JQuery或者什么东西告诉我何时获得红色X?我已经尝试过WebBrowser.Current.Image的每个方法和属性都无济于事。
答案 0 :(得分:0)
如果我理解正确,您正在尝试按名称属性查找图像。 如果name属性为“image_name_attr”(您可以通过firebug验证),请使用以下命令:
WebBrowser.Current.Image(Find.ByName("image_name_attr")); //constraint
如果您可以使用图像上的类名:
WebBrowser.Current.Image(Find.ByClass("image_class_attr"));
答案 1 :(得分:0)
Assert没有失败,因为WatiN正在做它应该做的事情;它正在检查图像html元素是否存在。您需要检查的是服务器上是否存在该文件。
看一下这个问题/答案 - 过去我曾经使用过这种方法,而且效果很好。 Test to see if an image exists in C#