很久以前我开发了一个测试自动化系统,遗憾的是当时没有一个框架可以实现。
其中一个关键功能是能够利用标准的Win32 API(EnumWindows,FindWindowEx等)查找Win32对话框并与之交互。
由于Windows 8的变化,团队最近在混合中引入了一个WPF应用程序,我开始了我认为这是一个简单的任务,即查找窗口,枚举控件(查找“确定”按钮)并单击它。请务必注意,我的系统不会调用受测试的应用程序。这是一个系统级事件,基本上我需要通过OK按钮“找到它”并“关闭它”,因为它需要代码路径。
我很快意识到这并不像我想象的那么直接,但我知道它可能因为使用Snoop我可以找到窗口并向下钻取控制树直到我找到它。关于这个主题有很多问题,但它们都在同一个app / appdomain中。
就我而言,这是从一个完全独立的应用程序(.net 4)发生的。我知道窗户标题,但很少。
有没有人知道如何实现Snoop正在做的事情(找到一个窗口,获取其控件列表,遍历某个标准寻找特定控件)然后模拟click事件?
答案 0 :(得分:0)
我从未使用它,但您可能正在寻找this page on MSDN。
从该页面开始:
Microsoft UI Automation是新的可访问性框架 微软Windows。它满足了辅助技术的需求 通过提供程序化的产品和自动化测试框架 访问有关用户界面(UI)的信息。另外,UI 自动化使控制和应用程序开发人员能够制作他 产品无障碍。