关于UI自动化技术及测试的一些看法

    技术2022-05-20  57

    本篇文章版权由ECFHP所有

    作者:何康鑫 

    大家知道,针对UI的自动化技术一般要支持以下所列内容:  1. 识别窗口  能够识别尽量多的窗口种类,支持尽量多的UI技术。比如Win32、WinForm、WPF以及WebPage的控件类型。  2. 操作窗口  对标准类型的控件方法的支持,比如按下按钮,在Listview中选择Item等。  3. 验证结果  实质就是能够拿到控件的状态以及控件相关的信息。  4. 错误恢复  这个其实属于自动化测试框架的问题,能从错误的状态恢复,并继续执行。当然写测试用例的时候,也要保证测试用例的独立性。  5. 同步  同步在UI的自动化测试中最复杂的部分了,这个地方的工作决定了自动化脚本能否稳定的运行在在各种不同平台,不同配置的测试机上。  相关的测试工具有很多,比如WinRunner、QuickTest、Silktest等。

            我们抛开各种各样的工具本身,来看UI自动化的本质,它所用到的技术可以概括为下面三种:  1. Windows API  相关的API,FindWindow, EnumWindow,GetWindowRect, GetWindowText, SendMessage等。  2. MSAA  MSAA是微软针对视力有障碍的人所提供的一个基于COM的API接口,开发人员可以利用这个技术来开发类似屏幕放大,屏幕阅读,以及语音控制等。现在很多自动化的工具除了利用window api以外,大部分也支持MSAA技术  3. UIAutomation  测试在各个软件公司中的地位日趋上升。随着WPF技术的发布,以往的Windows API以及MSAA技术,对WPF控件的操作能力急剧下降,甚至无法操作WPF控件,微软由此针对自动化测试进行了重新的设计,集成在.Net Framework3.0中发布,这个升级版就是UIAutomation的类库。而HP QTP11对WPF也实现了全面支持,专门增加了相关的插件。

            因此,在进行UI相关自动化测试的时候,采用合适的测试工具往往能起到事半功倍的效果。而QTP在相关的功能测试这块儿是个不错的选择。

    本篇文章版权由ECFHP所有  应用现代化


    最新回复(0)