为了自动化UI的测试,UI automation的东西被我们采用了。
这个东西对于很久不碰代码的人来说,惊为天书啊。
记录以下心路历程~~
首先要启动要测试的应用程序:
string appPath = @"application.exe";
Process appProcess = Process.Start(appPath);
获取自动化元素:(小样的,这下你变成啥样我都能控制你)
AutomationElement aeMainWindow = AutomationElement.FromHandle(appProcess.MainWindowHandle);
待续。。。
2007-06-28
终于又上来了。
先补充说说UI automation,实际上是.net 3.0的一个库,提供了针对界面操作的接口。但是因为相对比较底层,都是从很小的元素开始。
以上的操作让我们获得了automationElement,UI automation就是在这个基础上进行操作的。
自动化测试嘛,主要的思想就是获得界面上的元素,然后对它们进行操作,正面跟反面的都有。就是敏捷中常用的快乐路径和悲伤路径。当然,我们不会把全部的东西都自动化,一个是不一定全部的东西都好自动化;另一个是花费太多时间做自动化,相当于通过一个昂贵的方式告诉开发人员他们什么地方不足。
找到了AutomationElement,就可以采用Treewalker来查找定位它的子孙们。