自动化测试代码的实现

最近实习参与了一个公司项目,项目是实现某些设备的管理系统,采用C#实现的WPF框架。当然,整个系统是很复杂的,分为几大模块:Client,Service,Job,Communication等等,软件也是很多版本的。因为整个公司都采用C#开发,所以测试编码也是基于C#的。我主要是说一下我对自动化测试开发的见解,也是总结下这个项目学到什么,加深理解。

自动化测试开发主要引用了FrameWork 4.5中的UI Automation库实现UI自动化测试。通过获取控件,实现鼠标的模拟操作,捕获应该出现的控件或者对话框,从而实现手动测试都自动测试的转变。

整个流程如下:

1.初始化:启动系统软件以及相关服务。主要通过进程Process类启动软件和服务,

2.模拟鼠标操作,出现相应操作。主要采用微软提供的AutomationElement类、ControlType类来确定控件 ControlType类中包含所有控件类型,可以通过它来确定控件;AutomationElement根据控件字段名称、 AutomationId以及对话框的类名来获取控件。同时重写控件的相关操作。

3.根据逻辑实现case。自动化case是手动case的替换,逻辑思想是一样。不同之处在于你要准备好一些输入,比如传递参数(文件路径)、自动为控件赋值(Edit控件等)、逻辑上出现什么需要捕获到并进行相应的操作(对话框)、界面的切换(Button响应)等等,需要提前做好准备。

4.资源的cleanup。需要关闭进程、清理变量和对象等等。

由于我是基于公司以及提供的平台上进行的二次开发,所以对于“底层”common类的实现了解不够深入,只是调用别人以及封装好的方法去实现case,,希望能自我的提高吧。

不然你大概会一直好奇和不甘吧——家门前的那条小路,

自动化测试代码的实现

相关文章:

你感兴趣的文章:

标签云: