2010-02-12 77 views
0

如何在繼續之前編寫一個等待jQuery animate操作完成的Visual Studio WebAii Test如何讓WebAii測試等待jQuery動畫完成?

目前我只是使用循環暫停5秒,但如果動畫時間發生變化,這很容易中斷。

我已經嘗試了WebAii API中的一些等待方法,但他們都沒有看到等待這種事情。我認爲最接近的我來了Actions.WaitForElement(..)然而,被動畫的元素已經在DOM中,所以這似乎不起作用。等待方法對我來說似乎也很模糊。

回答

0

你可以編輯JavaScript以添加一個回調函數到jQuery animate()調用嗎?如果是這樣,這將允許您放入一個鉤子,您可以使用WebAii API更輕鬆地進行檢測。例如,您可以在動畫上添加一個(不可見)元素到DOM上,然後使用WaitForElement方法來檢測該元素。有點kludge,但它會工作!

0

您可以測試動畫元素的屬性。即使元素總是存在,動畫結束時,屬性必須有一些變化。由於我不知道這會發生什麼樣的變化,因此我在下面給出一個通用示例。

該代碼使用HtmlFindExpression與WaitForElement相結合。它應該等到檢測到具有給定ID的元素(「ctl00_ContentPlaceHolder1_btnAccept_CD」)。

Manager mng = new Manager(false); 
mng.Start(); 
mng.LaunchNewBrowser(BrowserType.InternetExplorer); 
string url = "http://yoururl"; 
mng.ActiveBrowser.NavigateTo(url); 
mng.ActiveBrowser.WaitForElement(
    new HtmlFindExpression("id=ctl00_ContentPlaceHolder1_btnAccept_CD"), 10000); 

我希望這會有所幫助。