Telerik Test Studio的新手?免费下载30天试用版

本地Win32 Windows处理

Telerik测试框架提供了对Win32 Windows处理的通用支持。在“ArtOfTest.Common”下。Win32的命名空间,Telerik Framework提供了两个关键对象,您可以在测试代码中使用它们来通用地管理Win32 Windows和对话框。

  • WindowManager类: WindowManager为您的测试提供了一种机制,可以枚举特定窗口句柄的子窗口或桌面的所有子窗口。WindowManager公开了'GetWindows()'方法,您可以使用该方法来构建枚举。一旦调用getwwindows, Items集合(由WindowManager公开)将被填充。该集合中的每个项都是一个Window对象。

  • 窗口类窗口类是Win32窗口句柄的包装器。类提供了基本的属性和方法来从特定的窗口(如Size, IsMaximized等)收集信息,并调用该窗口上的操作(如Close(), Minimize(), GetBitmap(), SetFocus()等)。

除了上面描述的功能之外,WindowManager还公开了一个静态方法findwindowrecurrecursive(),它允许用户递归地搜索窗口层次结构,寻找窗口的标题或类名。标题搜索也可以使用部分标题来完成。

让我们举一个例子来说明这两个类是如何帮助为本地Win32窗口提供自动化功能的:

Window vsWindow = null;//获取所有桌面窗口//空构造函数将获取所有桌面窗口,因为没有指定// hwnd。WindowManager winManager = new WindowManager();winManager.GetWindows ();/ / WinManager。Items没有初始化桌面的所有顶层窗口foreach (Window win in winManager.Items) {if (win. caption。包含("Microsoft Visual Studio")) vsWindow = win;Log.WriteLine(字符串。Format("Window (hwnd:{0}, title:{1},class:{2})", win. handle . tostring (), win. string()。标题,win.ClassName));} //递归地查找vsWindow。通过IntPtr。Zero will start from the desktop. Window vsWindowRecur = WindowManager.FindWindowRecursively( IntPtr.Zero, "Microsoft Visual Studio", true, 0);
Dim vsWindow As Window = Nothing ' Get all desktop Windows '空构造函数将获得所有桌面窗口,因为没有指定' hwnd '。Dim winManager As WindowManager = New WindowManager winManager. getwwindows () 'WinManager。项目现在初始化与桌面的所有顶层窗口为每个win作为窗口在winManager。如果获胜。标题。Contains("Microsoft Visual Studio") Then vsWindow = win End If Log.WriteLine(String. exe)格式(“窗口(hwnd:{0},标题:{1},类:{2})",_ win.Handle。ToString,赢了。标题,win.ClassName))下一步递归地查找vsWindow。通过IntPtr。Zero将从桌面开始。Dim vsWindowRecur As Window = WindowManager。findwindowrecursive (_ IntPtr。0,“Microsoft Visual Studio”,True, 0)
在本文中
Baidu
map