2016-12-15 21 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