UI Automation Introduction.

     晚上睡不着,就随便写写东西吧.

 

     UI Automation是一个新的用于自动化测试的技术,随着.NETFX3.5的发布而发布,亦不过才一年多的时间。所以,还有很多不完善的地方,其中包括一些已知的bug。不过,相信在.NETFX4.0已经对其进行了改进,增加了一些新的property以及partten等等。

   

    按照微软官方的说法,UI Automation是一个跨平台的技术,也就是不仅windows可以使用,linux等也同样可以使用。但是,事实是否如此?恕本人孤陋寡闻。

  

    UI Automation是在MSAA基础上建立的,MSAA就是Microsoft Active Accessibility。UIA在某些方面超过了msaa,而且对于wpf的控件都默认支持UI Automation.

 

    UI Automation将所有的窗体、控件看做是AutomationElement。顺便说一下,对于UI(用户界面)来说,所有显示在桌面上的UI,其实际是一个UI Tree,根节点是desktop。我们可以使用UI Spy或者是SPY++来获得UI和Control的信息。所以,在UI Automation里,根节点表示为AutomationElemnet.RootElement.获得了根节点,就可以找到相应的element了,如button,checkbox, treeview, 并且可以invoke事件,比如单击,模拟键盘输入等等。

在C#中,使用UI Automation库来选择c uiautomation controltype.listitem时,可以通过以下步骤进行选择: 1. 首先,需要获取应用程序的主窗口句柄。可以使用Win32 API函数来获取句柄。 2. 通过UI Automation库中的AutomationElement类的FindFirst方法,传入主窗口句柄和ControlType.ListItem参数来查找第一个List Item控件。 3. 如果需要获取所有的List Item控件,可以使用AutomationElement类的FindAll方法。 下面是一个示例代码片段,展示了如何使用UI Automation库选择c uiautomation controltype.listitem: ```csharp using System; using System.Windows.Automation; // 获取应用程序主窗口句柄 IntPtr mainWindowHandle = // 获取主窗口句柄的代码 // 使用UI Automation库找到第一个List Item控件 AutomationElement listItem = AutomationElement.FromHandle(mainWindowHandle).FindFirst( TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.ListItem)); // 使用UI Automation库找到所有的List Item控件 AutomationElementCollection listItemCollection = AutomationElement.FromHandle(mainWindowHandle).FindAll( TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.ListItem)); ``` 希望这个示例代码能够帮助你选择c uiautomation controltype.listitem。如果需要更多信息,可以参考引用中提供的文档和代码片段。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [自动操作软件 获取软件按钮内容 UIAutomation 软件自动化测试(我的一点补充)](https://blog.csdn.net/ddzr972435946/article/details/101154624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值