2014-04-03 30 views
1

我有我想要使用CodedUI測試Web應用程序(MVC4,淘汰賽)。有與一堆選擇標籤屏幕的一個形式,且具有約束力的淘汰賽點擊時調用的WebAPI的按鈕。在WebAPI調用之後,用戶被重定向到另一個屏幕。CodedUI測試顯示「你確定要離開」彈出

當我使用這個屏幕手動我可以選擇的值,然後單擊該按鈕,如預期的應用功能:的WebAPI被調用,如果成功的話,有一個重定向。

然而,當我使用CodedUI找到並單擊該按鈕,我會得到一個彈出問我,如果我敢肯定,我要離開這個頁面。我認爲這是默認的Internet Explorer行爲,當離開頁面的表單數據。我的問題是,爲什麼會發生這種情況與CodedUI自動化,而不是當我手動點擊按鈕?

我使用IE11和VS2012高級更新4.這裏是我的UI自動化一小段代碼:

var button = new HtmlButton {Container = BrowserWindow}; 
button.SearchProperties.Add(HtmlControl.PropertyNames.Title, "My button title"); 
Mouse.Click(button); 

回答

0

我設法找出在調用使用Ajax的WebAPI的功能,我們首先禁用onbeforeunload事件。不過,當CodedUI單擊按鈕時,這似乎不會被調用。我已經成功地解決此使用

BrowserWindow.ExecuteScript("window.onbeforeunload = null;"); 

不過,我還是想不通,爲什麼我需要這樣做......

相關問題