我当前正在使用
TestStack.White
从外部检索信息的框架
Window
.
当
窗口.DisplayState
是
恢复
或
最大化
,我可以完美地得到我想要的东西……但当它是
最小化
,我无法从窗口中看到每个项目…以下示例显示了使用中的命令的Google Chrome项目
Visual Studio
即时窗口
:
最大化窗口:
Window.DisplayState (COMMAND)
Maximized
Window.Items (COMMAND)
Count = 35
[0]: {Panel. AutomationId:183101736, Name:Chrome Legacy Window, ControlType:painel, FrameworkId:Win32}
[1]: {MenuBar. AutomationId:SystemMenuBar, Name:Barra de menus do sistema, ControlType:barra de menus, FrameworkId:Win32}
[2]: {Button. AutomationId:Minimize, Name:Minimizar, ControlType:botão, FrameworkId:Win32}
[3]: {Button. AutomationId:Restore, Name:Restaurar, ControlType:botão, FrameworkId:Win32}
[4]: {Button. AutomationId:Close, Name:Fechar, ControlType:botão, FrameworkId:Win32}
[5]: {CustomUIItem. AutomationId:, Name:Google Chrome, ControlType:personalizado, FrameworkId:}
[6]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[7]: {Button. AutomationId:, Name:Murilo, ControlType:botão, FrameworkId:}
[8]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[9]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[10]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[11]: {Tab. AutomationId:, Name:, ControlType:guia, FrameworkId:}
[12]: {Button. AutomationId:, Name:Nova guia, ControlType:botão, FrameworkId:}
[13]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[14]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[15]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[16]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[17]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[18]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[19]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[20]: {Button. AutomationId:, Name:Fechar, ControlType:botão, FrameworkId:}
[21]: {ToolStrip. AutomationId:, Name:main, ControlType:barra de ferramentas, FrameworkId:}
[22]: {Button. AutomationId:, Name:Recarregar, ControlType:botão, FrameworkId:}
[23]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[24]: {Button. AutomationId:, Name:Adicionar esta página aos favoritos, ControlType:botão, FrameworkId:}
[25]: {CustomUIItem. AutomationId:, Name:Extensões, ControlType:personalizado, FrameworkId:}
[26]: {Button. AutomationId:, Name:AdBlock - clique para detalhes, ControlType:botão, FrameworkId:}
[27]: {Button. AutomationId:, Name:Tampermonkey, ControlType:botão, FrameworkId:}
[28]: {ToolStrip. AutomationId:, Name:Favoritos, ControlType:barra de ferramentas, FrameworkId:}
[29]: {Button. AutomationId:, Name:AAA, ControlType:botão, FrameworkId:}
[30]: {Button. AutomationId:, Name:BBB, ControlType:botão, FrameworkId:}
[31]: {Button. AutomationId:, Name:CCC, ControlType:botão, FrameworkId:}
[32]: {Button. AutomationId:, Name:DDD, ControlType:botão, FrameworkId:}
[33]: {Button. AutomationId:, Name:EEE, ControlType:botão, FrameworkId:}
[34]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
最小化窗口:
Window.DisplayState (COMMAND)
Minimized
Window.Items (COMMAND)
Count = 19
[0]: {MenuBar. AutomationId:SystemMenuBar, Name:Barra de menus do sistema, ControlType:barra de menus, FrameworkId:Win32}
[1]: {Button. AutomationId:Restore, Name:Restaurar, ControlType:botão, FrameworkId:Win32}
[2]: {Button. AutomationId:Maximize, Name:Maximizar, ControlType:botão, FrameworkId:Win32}
[3]: {Button. AutomationId:Close, Name:Fechar, ControlType:botão, FrameworkId:Win32}
[4]: {CustomUIItem. AutomationId:, Name:Google Chrome, ControlType:personalizado, FrameworkId:}
[5]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[6]: {Button. AutomationId:, Name:Murilo, ControlType:botão, FrameworkId:}
[7]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[8]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[9]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[10]: {Tab. AutomationId:, Name:, ControlType:guia, FrameworkId:}
[11]: {Button. AutomationId:, Name:Nova guia, ControlType:botão, FrameworkId:}
[12]: {ToolStrip. AutomationId:, Name:main, ControlType:barra de ferramentas, FrameworkId:}
[13]: {Button. AutomationId:, Name:Recarregar, ControlType:botão, FrameworkId:}
[14]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
[15]: {Button. AutomationId:, Name:Adicionar esta página aos favoritos, ControlType:botão, FrameworkId:}
[16]: {CustomUIItem. AutomationId:, Name:Extensões, ControlType:personalizado, FrameworkId:}
[17]: {ToolStrip. AutomationId:, Name:Favoritos, ControlType:barra de ferramentas, FrameworkId:}
[18]: {CustomUIItem. AutomationId:, Name:, ControlType:personalizado, FrameworkId:}
正如你们所看到的,当
窗
是
最大化
同时
最小化
窗
只显示了18个项目。
如果我想要
Panel
183101736(第一位置
最大化
窗
),可以使用以下代码轻松获取:
TestStack.White.UIItems.Panel panel = Window.Get<TestStack.White.UIItems.Panel>(SearchCriteria.ByAutomationId("183101736"));
如果
窗
是
最小化
,我必须使用手动更改其状态
窗DisplayState=显示状态。最大化
…否则,将引发以下问题
Exception
。有没有一种方法可以在不强制
窗
要打开吗?