【转】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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言:判断回文字符串的两种简单方法

    C语言:判断回文字符串的两种简单方法我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~之前写…

    2022年6月6日
    20
  • 低功耗蓝牙信标已成为室内定位御用信标–室内定位信标–新导智能

    低功耗蓝牙信标已成为室内定位御用信标–室内定位信标–新导智能低功耗蓝牙(BluetoothLE)信标已经在市场上部署了几年,而且已成为挨近感知运用的抢先技能挑选。BluetoothLE的低功耗和简略性,再加上其在智能手机中的普遍运用,可完成低成本、电池供电的信标,并使信标能广泛运用于室内定位信标智能手机运用程序中依据方位的服务。蓝牙室内定位信标:一般而言,信标是一种小型、廉价的无线设备,一般由电池供电,运用低功耗蓝牙技能来播送其存在。信标一般被描述为灯塔的射频版别,反复播送其规模内其他设备可以辨认的标识符。智能手机或平板电脑可以运…

    2022年5月29日
    28
  • php 禁用 chunked,nginx配置关闭chunked「建议收藏」

    php 禁用 chunked,nginx配置关闭chunked「建议收藏」Transfer-Encoding:chunked简介通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是HTTP/1.1RFC里定义的一种编码方式。chunked编码的基本方法是将大块数据分解成多块小数据,每块都可以自指定长度。Transfer-Encoding:chunked能更快的让页面呈现出来,因…

    2025年6月10日
    1
  • docker容器的启动(docker容器启动时间)

    在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。1、attach命令attach命令是Docker自带的命令,命令格式为:dockerattach[–detach-keys[=[]]][–no-stdin][–sig-prox

    2022年4月15日
    195
  • linux 查看目录大小_shell判断文件大小

    linux 查看目录大小_shell判断文件大小du[-abcDhHklmsSx][-L][-X][–block-size][–exclude=][–max-depth=][–help][–version][目录或文件]常用参数:-a或-all为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。-b或-bytes显示目录或文件大小时,以byte为单位。-c或–tota…

    2022年10月12日
    2
  • R语言PCA分析_r语言可视化代码

    R语言PCA分析_r语言可视化代码R语言中的PCA分析函数R语言常用PCA分析函数有prcomp与princomp,二者主要是计算方法的差别,建议采用prcomp(SVD方法)prcomp函数prcomp函数使用较为简单,但是不同于常规的求取特征值和特征向量的方法,prcomp函数是对变量矩阵采用SVD方法计算其奇异值(原理上是特征值的平方根),函数帮助中描述为函数结果中的sdev。prcomp函数输入参数为变量矩阵(x…

    2022年10月12日
    2

发表回复

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

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