【转】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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Redis的五种数据结构的底层实现原理

    Redis的五种数据结构的底层实现原理

  • java连接数据库有几种方法_javaweb如何连接数据库

    java连接数据库有几种方法_javaweb如何连接数据库1.加载驱动Class.forname(数据库驱动名);2.建立数据库连接使用DriverManager类的getConnection()静态方法来获取数据库连接对象,其语法格式如下所示:Connectionconn=DriverManager.getConnection(Stringurl,Stringuser,Stringpass);其中url–数据库连接字符串….

  • PC上安装多个操作系统

    目 录 第1章 绪论1 1.1目标1 1.2适宜的读者1 第2章 制作启动U盘2 2.1初级安装2 2.2启动分析3 2.3高级安装13 2.3.1分区13 2.3.2复制文件16 2.3.3…

  • 【Time】 不确定度的A类、B类评定及合成

    【Time】 不确定度的A类、B类评定及合成不确定度的A类、B类评定及合成由于测量结果的不确定度往往由多种原因引起的,对每个不确定度来源评定的标准偏差,称为标准不确定度分量,用符号ui表示。(1)不确定度的A类评定用对观测列进行统计分析的方法来评定标准不确定度,称为不确定度A类评定;所得到的相应标准不确定度称为A类不确定度分量,用符号uA表示。它是用实验标准偏差来表征。计算公式:一次测量结果An的uA=S;…

  • Python攻防-暴力激活成功教程附近局域网WIFI密码「建议收藏」

    Python攻防-暴力激活成功教程附近局域网WIFI密码「建议收藏」文章目录前言无图形界面WIFI爆破脚本优化图形化界面简单版UIUI升级版总结前言本文将记录学习下如何通过Python脚本实现WIFI密码的暴力激活成功教程,从而实现免费蹭网。无图形界面先来看看没有图形界面版的爆破脚本。WIFI爆破importpywififrompywifiimportconstimporttimeimportdatetime#测试连接,返回链接结果defwifiConnect(pwd):#抓取网卡接口wifi=pywifi

  • due for什么意思_due动词的意思

    due for什么意思_due动词的意思问题描述:在使用实验室服务器安装pytorch的时候报错:ERROR:CouldnotinstallpackagesduetoanOSError:[WinError5]拒绝访问。:‘e:\program\anaconda\envs\dai\lib\site-packages\~.rch\lib\asmjit.dll’Considerusingthe–useroptionorcheckthepermissions.原因分析:原因是由于实验室服务器管理时都是用

发表回复

您的电子邮箱地址不会被公开。

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