2011-06-30 113 views
0

我已經記錄了幾個編碼的UI測試,以通過我們的asp.net web應用程序中的各種數據收集步驟。但是,我們有自定義代碼,當用戶逐步通過「嚮導」(僅使用嚮導作爲概括術語)時,即時呈現html。所以從瀏覽器的角度來看,用戶總是在同一頁面上,例如Wizard.aspx,但是當頁面被回發時,不同的html被呈現,並且具有不同的控件編碼的UI測試動態控件

因此,當編碼測試正在運行,它有時會失敗,因爲在回發之後,要呈現的html沒有足夠快地呈現,並且搜索無法找到控件,這也發生在點擊上,即播放嘗試點擊控制,即一個可能還沒有渲染的按鈕,我已經通過在步驟之間手動添加ThinkTime來糾正此問題,但感覺像是一個黑客。作爲一個編碼的UI測試正在進行,有沒有辦法讓播放等待,直到控件呈現,我已經看到了WaitForControlExist方法,但我不知道在哪裏使用它。

+1

部分類看起來像一個候選人放在我不得不專門爲每個控制手動添加WaitForControlExist似乎不正確 – kd7

回答

0

我實際上找到了一種方法來驅動這個從配置文件沒有增加手動延遲後,每一步,以防萬一這有助於任何人。它在每個動作之間設置一個3秒(3000毫秒)的等待時間。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="DelayBetweenActions" value="3000" /> 
    <add key="WaitForReadyTimeout" value="60000"/> 
    </appSettings> 
</configuration>