2013-05-31 31 views
0

我正在使用WatiN,我需要確定圖像是否已加載。在我的情況,我得到網頁上的紅色的X但是當我使用...如何確定圖像是否加載WatiN

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

...因爲圖像的名稱不存在於頁面上的斷言不會失敗。但它沒有加載。

有沒有辦法使用WatiN來評估與JQuery或什麼,告訴我什麼時候得到紅色的X?我已經試過WebBrowser.Current.Image的每個方法和屬性都無濟於事。

回答

0

如果我理解正確,您正試圖通過名稱屬性查找圖像。 如果name屬性是「image_name_attr」(你可以驗證這一點通過螢火蟲)使用此:

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

如果在圖像上的類名,你可以使用:

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

我希望得到不同的答案。我試圖通過名稱查找圖像,看看它是否加載。只需找到名稱是不夠的,因爲該名稱存在於DOM中,無論該圖像是否已加載。開發團隊更改了路徑名稱,路徑不正確,頁面只顯示一個紅色的X. – user2442005

+0

您的名字是什麼意思?你可以添加html代碼嗎? – alonp

0

斷言是沒有失敗,因爲WatiN正在做它應該做的事情;它正在檢查圖像html元素是否存在。你需要檢查的是文件是否存在於服務器上。

看看這個SO問題/答案 - 我過去使用過這種方法,它工作的很好。 Test to see if an image exists in C#