【转】UIAutomation

UIAutomation  UIAutomation是微软从WindowsVista开始推出的一套全新UI自动化测试技术,简称UIA。在最新的WindowsSDK中,UIA和MSAA等其它支持UI自动化技术的组件放在一起发布,叫做WindowsAutomationAPI。  和前面的介绍相比,我倾向于认为UIA是一项自动化测试“技术”,而MSAA和Win32API只是实现自动化…

大家好,又见面了,我是你们的朋友全栈君。

UIAutomation

  UIAutomation是微软从Windows Vista开始推出的一套全新UI自动化测试技术, 简称UIA。在最新的Windows SDK中,UIA和MSAA等其它支持UI自动化技术的组件放在一起发布,叫做Windows Automation API。

  和前面的介绍相比,我倾向于认为UIA是一项自动化测试“技术”,而MSAA和Win32 API只是实现自动化测试的两种“方法”。这里区分“技术”和 “方法”的原因是, 一项“技术”往往有独立的模型,体贴的开发接口,用来专门解决某一类的问题,同时允许不同的实现细节。UIA可以被看作“技术”,是因为:

  UIA定义了全新的、针对UI自动化的接口和模式。 分别是支持对UI元素进行遍历和条件化查询的TreeWalker/FindAll。定义了读写UI元素属性的UIA Property, 包括Name、 ID、Type、ClassName、Location、 Visibility等等。定义了UI元素行为的UIA Pattern, 比如Select、Expand、Resize、 Check、Value等等。 还引入了UIA Event接口,可以让测试程序在某些事件发生后得到通知,比如新窗口打开事件等。

  以往的Win32和MSAA 设计出发点并不是为解决UI自动化。Win32旨在提供的通用开发接口, MSAA旨在提供程序的多种访问方式。相反,UIA的设计目的,以及新引入的模式和接口都完全是针对UI自动化测试的。

  在后面的文章中我们会详细分析UIA的内部实现。可以看到,UIA这一套接口和模式,可以在不同平台,不同开发工具中实现和使用。其内部实现方式也因地制宜, 前后的兼容性都照顾得很好。 同时,UIA提供了托管的和非托管两种API,这些都是Win32和MSAA无法比拟的。

  下面一段简单的C#代码演示了如何使用UIA测试Windows自带计算器完成计算3+5-2的操作(下述代码可能需要修改以适应不同Windows版本的calc.exe程序。本代码使用Visual Studio 2008针对Windows 2008 Server R2 English 编写)

【转】UIAutomation

【转】UIAutomation

【转】UIAutomation

【转】UIAutomation

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125578.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 锐捷交换机常用命令速查[通俗易懂]

    锐捷交换机常用命令速查[通俗易懂]准备工作       >Enable进入特权模式  #Exit  返回上一级操作模式  #End  返回到特权模式  #writememory或copyrunning-configstartup-config  保存配置文件  #delflash:config.text  删除配置文件(交换机及1700系列路由器)  #erasestartup-co

    2022年6月23日
    176
  • c字符串截取一部分字符串_截取指定字符串

    c字符串截取一部分字符串_截取指定字符串char*name=”D:/development/MOD09GA/MOD09GAh23v042017001016_16days_unvi.img”; charpath[256]={0}; memcpy(path,name+3,11);//’D:/‘拨移3‘development’拨移11 path[11]=’\0′; printf(“%s”,p…

    2022年10月7日
    0
  • 虚拟化漏洞3种解决方案_怎么实现漏洞复现的

    虚拟化漏洞3种解决方案_怎么实现漏洞复现的利用虚拟机复现漏洞“永恒之蓝”攻击:kaliLinux2020.3靶机:WindowsServer2008R2x64下面详细讲述测试的过程。————“永恒之蓝”简介利用Windows系统的SMB漏洞可以获取系统最高权限。于2017年在全球的范围内大面积爆发,不法分子利用这个漏洞制作了勒索病毒,锁定被攻击的设备,并要求支付高额赎金。“永恒之蓝”的原理主要是扫描所有开放445文件共享端口的Windows机器。这里进行测试要用到一个工具MSF,能快速

    2022年10月16日
    0
  • unity支持python语言吗_scratch三维立体

    unity支持python语言吗_scratch三维立体在上次发布拙作后,有不少童鞋询问本人如何学习Unity3D。本人自知作为一名刚入门的菜鸟,实在没有资格谈论这么高大上的话题,生怕误导了各位。不过思来想去,决定还是写一些自己的经验,如果能给想要入门U3D的您一些启发,便再好不过了。如何入门谈起自己是如何入门U3D,这还得从一年半前说起。那是在一个月黑风高的夜晚…(此处省略一万字)。就这样,我对这款游戏引擎产生了浓厚的兴趣,走上了自学的道路。相比…

    2022年8月10日
    2
  • pycahrm激活码 3月最新注册码

    pycahrm激活码 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    77
  • rootfs文件系统_bootfs和rootfs

    rootfs文件系统_bootfs和rootfs一、/linuxrc1./linuxrc是一个可执行的应用程序(1)/linuxrc是应用层的,和内核源码一点关系都没有。(2)/linuxrc在开发板当前系统下是可执行的。因此在ARMSoC的linux系统下,这个应用程序就是arm-linux-gcc编译链接的;如果是在PC机linux系统下,那么这个程序就是用gcc编译链接的。(3)/linuxrc如果是静态编译链接的,那…

    2022年10月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号