iov_cp 发表于 2009-4-8 17:51:14

UI Automation的应用

越来越多WPF被应用,而Win7也大量使用WPF.
可是很多tool都不能支持WPF,当然我指的免费的tools.而QTP越来越大,不适合灵活测试,而且还要给钱.
有没有人关注和投入UI Automation???相关内容请参考www.msdn.com
如果有人关注了,请谈谈感受,这里大部分人的code 能力有限.
希望更多人能自己program...
UI Automation: Microsfot为了automation的广泛应用,当然也是帮自己开发的忙,而推出的方法.被inetegrate with .Net 3.0及以上

shanxi 发表于 2009-4-8 18:17:15

UIA实际上是msaa的托管代码实现,本来msaa就是需要程序自身来支持的,但太多的程序缺乏这种支持,比如腾讯qq

.net范畴

[ 本帖最后由 shanxi 于 2009-4-8 18:24 编辑 ]

iov_cp 发表于 2009-4-9 08:50:26

原帖由 shanxi 于 2009-4-8 18:17 发表 http://bbs.51testing.com/images/common/back.gif
UIA实际上是msaa的托管代码实现,本来msaa就是需要程序自身来支持的,但太多的程序缺乏这种支持,比如腾讯qq

.net范畴
能再详细clarify么. 比如:1.是否我要想automate 某个application ,那么application是否在wpf设计时就要由developer留下interface? 2.你举例QQ,为什么说它不属于支持的范畴.(我个人是认为只有用WPF开发的才支持)
主要是自己还在看relevant aritcles,没弄清

shanxi 发表于 2009-4-9 13:17:51

如果是windows一般会有基本的接口
但如果是windowsless,则需要应用程序自身实现accessibility server:
诸如QueryInterface,AddRef,Release,GetIDsOfNames等等,注意底层接口是IAccessible

更正下先前说的,uia是作为msaa的续任者出现的,灵活性等方面都增强了不少,比msaa架构更合理,提供了msaa-uia桥来兼容以前的解决方案,都在msdn上可见。

[ 本帖最后由 shanxi 于 2009-4-9 13:23 编辑 ]

iov_cp 发表于 2009-4-10 09:50:09

God

原帖由 shanxi 于 2009-4-9 13:17 发表 http://bbs.51testing.com/images/common/back.gif
如果是windows一般会有基本的接口
但如果是windowsless,则需要应用程序自身实现accessibility server:
诸如QueryInterface,AddRef,Release,GetIDsOfNames等等,注意底层接口是IAccessible

更正下先前说的,ui ...
看来你是做code出来的,对这些都很清楚.
象Windowsless,msaa,Accessibility server,QueryInterface,Addref,GetIDsofNames,IAccessible我都完全不明白和用过,只知道是方法和接口. 哎,可惜不懂哦..

shanxi 发表于 2009-4-10 11:07:49

回复 5# 的帖子

其实就是COM接口,微软的Accessibility都是采用进程外COM方式实现

基本上自定义控件需要程序自己来实现代码量不算少,你可以看看Firefox对Accessibility支持利弊的讨论权衡一下是否支持。

目前国内的window程序基本上都不会支持Accessibility,所以一般看国际化大公司的window程序

shanxi 发表于 2009-9-10 22:13:46

有兴趣的看这个

White: Automate windows applications
http://white.codeplex.com/

纯UIA开源框架

lantianwei 发表于 2009-9-10 23:27:28

感觉UIA功能不是很强大 对于第三方控件更是无能无力

shanxi 发表于 2009-9-11 10:18:43

原帖由 lantianwei 于 2009-9-10 23:27 发表 http://bbs.51testing.com/images/common/back.gif
感觉UIA功能不是很强大 对于第三方控件更是无能无力

你说的这个第三方控件不支持UIA ,如果支持UIA你需要做的是封装这个控件所有的基本UIA元素形成合集以识别。

你购买这个控件时可以提需求,如果什么接口这个控件都不提供,还买它干甚。自己做一个支持UIA的控件的时间都有了。

[ 本帖最后由 shanxi 于 2009-9-11 10:45 编辑 ]

lantianwei 发表于 2009-9-11 11:28:02

一般第三方控件提供的接口都是给开发使用的 不会考虑到AUTOMATION 提需求这东西 就要看公司对自动化有多重视了

好像自己开发个控件不怎么容易吧 我听我们的开发说 自己开发个GRID控件 起码得几个月的时间

原本我是想用UIA来操作DEVEXPRESS这公司的控件但发现根本处理不了 后来还是让开发给我做SUPPORT来的方便

shanxi 发表于 2009-9-11 12:26:15

原帖由 lantianwei 于 2009-9-11 11:28 发表 http://bbs.51testing.com/images/common/back.gif


好像自己开发个控件不怎么容易吧
原本 ...

是的。
特别是让这个控件支持UIA的Server,代码量不少。

不过国内有些公司比如腾讯QQ不支持,我倒感觉它是故意的。

lantianwei 发表于 2009-9-11 15:12:46

回复 11# 的帖子

应该有他们自己的考虑吧
安全性 版权 核心技术什么的

聚散两依依 发表于 2009-11-18 00:24:09

谢谢,真是好方法!
页: [1]
查看完整版本: UI Automation的应用