Mita和Maui
参考:http://blog.csdn.net/popeer/article/details/6002541
UI自动化的框架,MS内部使用的不对外开放的框架。UI Automation 离不开像Mita, KAF ,Maui这样的对UIA技术框架又封装了一层的框架,准确的应该叫类库。
他们都有各自的特点:
1):Maui是最贴近UIA core的一层了,KAF,MITA 都是在maui的基础上建立起来的,这么说可能不准确,但他们都应用了maui的东西。Maui也是一个UI自动化测试框架,用来测试多种UI(WPF, WinForms, Win32, HTML, SDM, etc.)
2):MITA:要比maui好用,它的架构本身就是应用装饰模式,并且对windows application 支持的还算不错,包括WPF,所以使用MITA做UI自动化简单,宜用,比起UIA框架提供的元素好用多了。Mita可以与Win32, WinForms, MSAA, Avalon and Windows Vista等进行交互的UI implementation
3):KAF:它的内部都引用了Maui和MITA, 可能是考虑到Maui虽低层,但不支持WPF(2.0支持WPF);MITA虽支持wpf,但对外部不公开com. 我觉得KAF就是为浏览器的UI自动化而生。它对浏览器的支持超过前两者。
目前UI自动化的技术还存在很大的缺陷,有三点:
一是在UI element查找时,不支持正则表达式;
二是产品的UI技术总是不断变化,从win32,到wpf,再到Rebun, 这就造成了对同一个界面元素的唯一标识的不一致性。对自动化开发限制和挑战很大,针对于特定系统,特定版本的软件,要有兼容的解决方案才能克服。问题的根源是在产品设计时,开发者就没考虑UI automation自动化这事,windows OS也很难让所有在windows上运行的程序都有唯一而且统一的标识。
三是不支持二级查找。目前都是从UI tree的根节点开始查找,而不能直接从所有的二级或三级节点查找ui element.
9.要想提高开发速度,可以通过良好的成熟的架构设计,工具和管理。
10.使用好日志。记录信息时,需要记录好log lelver, when, where, How. 对troubleshooting很有帮助
Mita和Maui的更多相关文章
- [mobile angular ui]MAUI中的font awesome图标
MAUI中用font awesome替换了glyphicon,但是FA中都有哪些可用的图标呢,在网上搜了一张font awesome的对照表,使用时记着把其中的icon-xxx替换为fa-xxx就可以 ...
- [翻译] .NET 官宣跨平台 UI 框架 MAUI
MAUI Build 2020 大会上,微软终于正式公布 .NET 上的跨平台框架,正式版将在 .NET 6 和大家见面. MAUI 是日益流行的 Xamarin.Forms 的进化,Xamarin. ...
- 微软跨平台UI框架MAUI真的要来啦
.NET 6 preview已经上线,是时候为在BUILD 2020上宣布的新.NET Multi-platform App UI(MAUI)做准备了.对于客户端应用程序开发人员来说,这一年.NET有 ...
- 官宣 MAUI 在.NET Preview 3的最新进展
我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...
- 乘风破浪,.Net Core遇见MAUI(.NET Multi-platform App UI),进击现代化跨设备应用框架
什么是MAUI https://github.com/dotnet/maui .NET Multi-platform App UI (MAUI) 的前身是Xamarin.Forms(适用于Androi ...
- 官宣 .NET MAUI 预览版 6
最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...
- 最新.NET MAUI有什么惊喜?
.NET 6 Preview 7 现已发布啦,我们为 .NET 多平台应用程序 UI (MAUI) 引入了所有的新布局.这是性能和可靠性的重大变化.我们很高兴我们还增加了一些关于accessibili ...
- [MAUI] 在.NET MAUI中结合Vue实现混合开发
在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实. Vue是当前流 ...
- .NET MAUI 已在塔架就位 ,4月份RC
最美人间三月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET 团队正奋力实现新的突破. 根据计划,新一代移动开发平台MAUI 将于4月份 发布RC. 目前,MAUI的测试工作和火 ...
随机推荐
- quartz 数据表字典
首次整理,可能有错误,还有少许的未整理,希望看到的人能给点补充(包括指点错误) 表名 表说明 自定义触发器 QRTZ_BLOB_TRIGGERS 列名(英) 列名(中) 数据类型 列长度 是否为空 列 ...
- JavaScript设计模式与开发实践——JavaScript的多态
“多态”一词源于希腊文polymorphism,拆开来看是poly(复数)+ morph(形态)+ ism,从字面上我们可以理解为复数形态. 多态的实际含义是:同一操作作用于不同的对象上面,可以产生不 ...
- net分布式系统架构
net分布式系统架构的思路 最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批 ...
- shell编程之sleep的运用
#!/bin/bashecho -n "Count:"tput sccount=0;while true;doif [ $count -lt 40 ]then let count+ ...
- UVA 10078 The Art Gallery
Problem: Century Arts has hundreds of art galleries scattered all around the country and you are hir ...
- 【BZOJ】【1008】【HNOI】越狱
快速幂 大水题= = 正着找越狱情况不好找,那就反过来找不越狱的情况呗…… 总方案是$m^n$种,不越狱的有$m*(m-1)^{n-1}$种= = 负数搞搞就好了…… 莫名奇妙地T了好几发…… /** ...
- 【BZOJ】【1798】【AHOI2009】Seq维护序列
线段树 属于线段树中级应用吧…… 要打两种标记:乘法和加法标记.一开始我想着可以像只有加法标记那样,永不下传,查询的时候依次累加就好了.后来发现不会写……只好每次update的时候……遇到标记!下传! ...
- mysql Communications link failure,C3p0的参数详解
MySQL默认一个连接空闲8小时候就会自动断开,而这时程序以为连接还能使用,然后在使用的时候就会出现Communications link failure异常. 这时需要进行两步设置,有时候只设置My ...
- POI中设置Excel单元格格式
引用:http://apps.hi.baidu.com/share/detail/17249059 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWork ...
- .NET设计模式(7):创建型模式专题总结(Creational Pattern)(转)
概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程.它帮助一个系统独立于如何创建.组合和表示它的那些对象.本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模 ...