日期:2014-05-17  浏览次数:21184 次

对于微软的UiAutomation,很迷惑
我写了一个测试软件,通过UiAutomation去操作其他软件。
但是当我把被操作的软件装在其他电脑上的时候,发现同一个控件的AutomationID是变化的?
这不就让我软件失效了?
我该怎么处理?

------解决方案--------------------
引用:
Quote: 引用:


不是你把测试软件给别人,让别人指定什么ID。

你们开发和测试隔离的吗?没任何沟通?
开发的同时,你就要测试了。当你想些一个自动化的test case的时候,你发现AID没有,或会变。你就要跟开发人员联系了,他们有责任,有义务配合你的工作,所以他们在开发的时候,每个重要的控件就应该有固定的AID了。你的test case也不会出现这样的问题。

你们是怎么合作的?
还好,你测试的你们公司的软件。有沟通的余地。
要是测第三方的,那才叫痛苦。

我是打了一个不恰当的比方,我就是测试的一个第三方的,我想做一套自动化的流程去点击他,当然我想我的测试软件在其他电脑上也能很方便的使用,现在碰到的问题就是第三方软件的AID会变,请教下一般怎么解决这个问题?

这个只能说明一个问题,你不能依赖AID了。
有些软件故意不给你AID。

解决办法就是采用其他组合条件了,比如classname, name等一些属性综合来判断了。

你确定对于同一台电脑,无论何时(包括重启之后)AID都是相同的吗?
如果是的话,把所有AID放到xml文件中也不失为一种方法,每次换机器是更新这个文件,一劳谈不上永逸,但可行。