2016-12-15 22 views
0

彈出窗口,我是新來的C#和TestStack.White,怎樣用TestStack.White和C#

是我測試(試圖....)是一個WPF應用程序中的應用。

我有了一個彈出子窗口的窗口,我想將其關閉。

我沒有的AutomationID那些彈出窗口:(

我有主窗口和MainWindow.HasPopup()返回true :)

但我不知道拿到的名單(TestStack .White.UIItems.WindowItems.Window)從我的MainWindow,所以我可以這樣做: Foreach _windItem ... _windItem .Close();

在此先感謝!

EyalS。

+0

歡迎來到Stack Overflow!請查看我們的[SO問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)來幫助你提出一個好問題,從而得到一個很好的答案。 –

回答

0

應該有窗口一個Popup屬性。 HasPopup實際上是檢查彈出屬性。我認爲一個更好的方法是,讓應用程序查看所有的窗口,然後關閉所有的窗口,除了有一個屬性指定它爲主窗口的窗口。這是白方的一個例子,如何做到這一點。

Application application = Application.Launch("Path to Application"); 
foreach (Window window in application.GetWindows()) 
{ 
    if (window.AutomationElement.Current.AutomationId == "MainWindow") continue; 
    window.Close(); 
} 

我也建議尋找到FlaUI因爲FlaUI的API,可以不必依賴添加到白了就是包裝的基本框架,很多更容易獲得在AutomationElement的信息。 Plus White有很多屬性,這些屬性不會像你會認爲他們喜歡Popup屬性那樣工作。

+0

謝謝!我會嘗試重播,如果它的工作:) – EyalS