【问题标题】:Use Teststack White with Windows File Explorer在 Windows 文件资源管理器中使用 Teststack White
【发布时间】:2017-10-31 16:00:12
【问题描述】:

我无法使用 White 框架进入文件资源管理器窗口。我在文件资源管理器上使用了 Window 的 10 SDK 检查工具来获得这个: Inspect Image

如您所见,窗口名称为空。

为了抓取窗口,至少从他们的docs,您需要使用带有名称的GetWindow。我使用了这个代码块:

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 中找不到标题为 6296 的窗口

当在检查中给出名称时,我已经让 Teststack White 与其他应用程序一起使用,所以它似乎不是 Teststack White 的问题,而是文件资源管理器,因为它没有名称。不过,有没有其他方法可以让 TestStack 抓取文件资源管理器窗口。

TL;DR:如何让 TestStack White 框架抓取 Window 的文件资源管理器窗口以便向其发送命令?

【问题讨论】:

    标签: c# ui-automation white-framework


    【解决方案1】:

    TestStack White 太有限了。切换到微软的 UI 自动化。使用

    var fileExplorer = 
    AutomationElement.RootElement.FindFirst(TreeScope.Children, 
    new PropertyCondition(AutomationElement.NameProperty, "File Explorer"));
    

    获取文件资源管理器。

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      相关资源
      最近更新 更多