繁体   English   中英

如何使用TestStack.White和C#获取弹出窗口

[英]how to get the popup window using TestStack.White and C#

我是C#和TestStack的新手,怀特,

我正在测试(尝试..)的应用程序是WPF应用程序。

我有一个带有弹出子窗口的窗口,我想关闭它。

我没有那些弹出窗口的AutomationId :(

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

但是我不知道从MainWindow中获取(TestStack.White.UIItems.WindowItems.Window)的列表,所以我可以这样做:Foreach _windItem ... _windItem .Close();

提前致谢 !。

EyalS。

窗口上应该有一个Popup属性。 HasPopup实际上是在检查popup属性。 我认为一种更好的方法是,向应用程序询问所有的窗口,然后关闭所有窗口,除了具有将其指定为主窗口的属性的窗口。 这是怀特(White)中的示例,说明了如何执行此操作。

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中的信息变得更加容易,而不必向White包装的基础框架添加依赖项。 另外,怀特(White)具有许多无法像您认为他们喜欢Popup属性那样工作的属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM