我无法使用White框架抓取文件资源管理器窗口。我在文件资源管理器上使用Window的10 SDK Inspect工具来获取: Inspect Image
您可以注意到窗口名称为空。
为了抓住窗口,至少从他们的docs,你需要使用GetWindow和Name。我使用了这个代码块:
Application application = Application.Launch("C:\\Window\\explorer.exe");
System.Threading.Thread.Sleep(10000);
List<Window> windows = Desktop.Instance.Windows();
for (int i = 0; i < windows.Count; i++)
Console.WriteLine(i + ". " + windows[i]);
Window fileExplorer = application.GetWindow("");
循环输出显示所有窗口:(2.很可能是文件资源管理器)
0:C:\ Users \ admin \ Documents \ Visual Studio 2017 \ foo.exe
1:foo(正在运行) - Microsoft Visual Studio
2:
3:项目经理
GetWindow显示:
在等待30秒后,在过程6296中找不到带标题的窗口
我已经让Teststack White与其他应用程序一起工作,因为在检查中给出了Name,所以它似乎不是Teststack White的问题,而是使用File Explorer,因为它没有Name。但是,有没有其他方法可以让TestStack获取文件资源管理器窗口。
TL; DR:如何让TestStack White框架获取Window的文件资源管理器窗口以便向其发送命令?
答案 0 :(得分:0)
TestStack White太有限了。切换到微软的UI自动化。使用
var fileExplorer =
AutomationElement.RootElement.FindFirst(TreeScope.Children,
new PropertyCondition(AutomationElement.NameProperty, "File Explorer"));
获取文件资源管理器。