参考: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的更多相关文章

  1. [mobile angular ui]MAUI中的font awesome图标

    MAUI中用font awesome替换了glyphicon,但是FA中都有哪些可用的图标呢,在网上搜了一张font awesome的对照表,使用时记着把其中的icon-xxx替换为fa-xxx就可以 ...

  2. [翻译] .NET 官宣跨平台 UI 框架 MAUI

    MAUI Build 2020 大会上,微软终于正式公布 .NET 上的跨平台框架,正式版将在 .NET 6 和大家见面. MAUI 是日益流行的 Xamarin.Forms 的进化,Xamarin. ...

  3. 微软跨平台UI框架MAUI真的要来啦

    .NET 6 preview已经上线,是时候为在BUILD 2020上宣布的新.NET Multi-platform App UI(MAUI)做准备了.对于客户端应用程序开发人员来说,这一年.NET有 ...

  4. 官宣 MAUI 在.NET Preview 3的最新进展

    我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...

  5. 乘风破浪,.Net Core遇见MAUI(.NET Multi-platform App UI),进击现代化跨设备应用框架

    什么是MAUI https://github.com/dotnet/maui .NET Multi-platform App UI (MAUI) 的前身是Xamarin.Forms(适用于Androi ...

  6. 官宣 .NET MAUI 预览版 6

    最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...

  7. 最新.NET MAUI有什么惊喜?

    .NET 6 Preview 7 现已发布啦,我们为 .NET 多平台应用程序 UI (MAUI) 引入了所有的新布局.这是性能和可靠性的重大变化.我们很高兴我们还增加了一些关于accessibili ...

  8. [MAUI] 在.NET MAUI中结合Vue实现混合开发

    ​ 在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实. Vue是当前流 ...

  9. .NET MAUI 已在塔架就位 ,4月份RC

    最美人间三月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET 团队正奋力实现新的突破. 根据计划,新一代移动开发平台MAUI 将于4月份 发布RC. 目前,MAUI的测试工作和火 ...

随机推荐

  1. Window7上搭建symfony开发环境(PEAR)

    http://blog.csdn.net/kunshan_shenbin/article/details/7162243 1. 更新PEAR 进入PHP所在目录,找到go-pear.bat并双击. 一 ...

  2. Linux 文件与目录

    文件描述符 在内核中,所有打开的文件都使用文件描述符(一个非负整数)标记.文件描述符的变化范围是0~OPEN_MAX – 1.早期的unix系统中,每个进程最多可以同时打开20个文件,就是说文件描述符 ...

  3. (转)android Fragments详解一:概述

    Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你 ...

  4. Actionform

    Actionform 2013年7月8日 15:08 Reset 用actionform是把数据恢复到初始状态 Getter/setter Validate 验证 已使用 Microsoft OneN ...

  5. Linux下安装Firefox以及更新Adobe flash

    一直无法舍弃Firefox浏览器,老是提示更新,但包管理器中的版本又不是最新版,只能自己手动安装了(一下是在Ubuntu14.04环境中进行的). 1.去官网下载最新版本 2.进入下载目录,解压文件 ...

  6. net core 实战之 redis 负载均衡和"高可用"实现

    net core 实战之 redis 负载均衡和"高可用"实现 1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的& ...

  7. android继承Dialog实现自定义对话框

    有时需要自定义对话框,可以使用AlterDialog.Bulider,比如下面的代码片段 new AlertDialog.Builder(self) .setTitle("标题") ...

  8. /lib64/libc.so.6: version `GLIBC_2.14' not found问题

    <备忘> 参考文章: https://my.oschina.net/zhangxu0512/blog/262275 问题答疑: http://blog.sina.com.cn/s/blog ...

  9. Careercup - Microsoft面试题 - 5752271719628800

    2014-05-10 20:31 题目链接 原题: Given an array of integers and a length L, find a sub-array of length L su ...

  10. Python编码设置

    系统编码顺序: 1, a.encode(sys.stdout.encoding) 2, a.encode(default_string) sys.stdout.encoding里的值可以用环境变量PY ...