基于windows操作系统下的复杂控件测试方法_2

文档序号:8258308阅读:来源:国知局
:
[0020]见图1至图4所示,一种基于windows操作系统下的复杂控件测试方法,包括录制模块包括录制模块和回放模块,所述回放模块包括脚本及操作控件的类库和测试运行模块,具体操作如下:①录制模块要识别windows操作系统下应用程序的状态并捕获用户的行为,并记录用户操作应用程序时的有效动作,并生成测试脚本;
[0021]②录制模块输出脚本后,通过脚本及操作控件的类库提供的操作控件的函数,将脚本中的操作控件的函数依靠操作控件的类库,转化为以DLL的形式;
[0022]③所述测试运行模块将测试脚本组装成能够通过编译的代码,并具有屏幕状态捕捉的功能,以对比测试运行的结果与预期的结果;最后自动运行生成的测试脚本,执行功能测试。
[0023]见图1所示,所述录制模块包括对非托管应用程序的录制模块和对托管应用程序的录制模块。
[0024]见图2所示,所述步骤①中录制模块为对非托管应用程序的录制模块,具体为用来录制用户动作的依据有被测的GUI程序发出的WinEvents和监控到的鼠标键盘操作,所述录制模块可分程序状态捕获模块和动作分析模块,所述捕获程序状态模块截获GUI程序发出的事件和监控鼠标键盘的状态,它所产生的输出是鼠标键盘消息序列和事件序列,所述动作分析模块则接收程序状态捕获模块的输入,分析鼠标键盘消息序列和事件序列,确定用户做了何种操作并生成脚本。所述动作分析模块对标准控件由时间序列分析用户的操作,而对于非标准控件则根据鼠标键盘消息序列分析用户的操作。
[0025]见图3所示,所述步骤①中录制模块为对托管应用程序的录制模块,具体为所述录制模块包括初始化模块和动作捕获模块,所述初始化模块负责做录制前的准备工作:将被测的程序集在录制模块所在的应用程序域中运行起来,所述动作捕获模块主要负责发现用户的操作并记录脚本。
[0026]见图4所示,在每一个WinEvent发生的时候,事件回调函数中的参数hWnd表示本次事件是在哪个⑶I窗口上发生的,根据这个句柄调用Win32函数GetClassName可得到GUI窗口的类,依据类名便可判断出这个GUI窗口是否是标准控件;然后分别调用不同的模块来分析用户的操作。
[0027]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于windows操作系统下的复杂控件测试方法,其特征在于:包括录制模块和回放模块,所述回放模块包括脚本及操作控件的类库和测试运行模块,具体操作如下: ①录制模块要识别windows操作系统下应用程序的状态并捕获用户的行为,并记录用户操作应用程序时的有效动作,并生成测试脚本; ②录制模块输出脚本后,通过脚本及操作控件的类库提供的操作控件的函数,将脚本中的操作控件的函数依靠操作控件的类库,转化为以DLL的形式; ③所述测试运行模块将测试脚本组装成能够通过编译的代码,并具有屏幕状态捕捉的功能,以对比测试运行的结果与预期的结果;最后自动运行生成的测试脚本,执行功能测试。
2.根据权利要求1所述的基于windows操作系统下的复杂控件测试方法,其特征在于:所述录制模块包括对非托管应用程序的录制模块和对托管应用程序的录制模块。
3.根据权利要求2所述的基于windows操作系统下的复杂控件测试方法,其特征在于:所述步骤①中录制模块为对非托管应用程序的录制模块,具体为用来录制用户动作的依据有被测的GUI程序发出的WinEvents和监控到的鼠标键盘操作,所述录制模块可分程序状态捕获模块和动作分析模块,所述捕获程序状态模块截获GUI程序发出的事件和监控鼠标键盘的状态,它所产生的输出是鼠标键盘消息序列和事件序列,所述动作分析模块则接收程序状态捕获模块的输入,分析鼠标键盘消息序列和事件序列,确定用户做了何种操作并生成脚本。
4.根据权利要求3所述的基于windows操作系统下的复杂控件测试方法,其特征在于:所述动作分析模块对标准控件由时间序列分析用户的操作,而对于非标准控件则根据鼠标键盘消息序列分析用户的操作。
5.根据权利要求2所述的基于windows操作系统下的复杂控件测试方法,其特征在于:所述步骤①中录制模块为对托管应用程序的录制模块,具体为所述录制模块包括初始化模块和动作捕获模块,所述初始化模块负责做录制前的准备工作:将被测的程序集在录制模块所在的应用程序域中运行起来,所述动作捕获模块主要负责发现用户的操作并记录脚本。
6.根据权利要求4或5所述的基于windows操作系统下的复杂控件测试方法,其特征在于:在每一个WinEvent发生的时候,事件回调函数中的参数hWnd表示本次事件是在哪个⑶I窗口上发生的,根据这个句柄调用Win32函数GetClassName可得到⑶I窗口的类,依据类名便可判断出这个GUI窗口是否是标准控件;然后分别调用不同的模块来分析用户的操作。
【专利摘要】本发明公开了一种基于windows操作系统下的复杂控件测试方法,包括包括录制模块和回放模块,所述回放模块包括脚本及操作控件的类库和测试运行模块,本发明是通过反射角度实现脚本录制与回放,能对复杂控件以简洁高效地方式来标识进行描述和识别,避免以前自动化功能测试工具手工修改测试脚本,极大加重了测试工程师工作复杂性和工作量;其次使用了统一的脚本语言,避免不同环境,不同平台脚本语言生成不一致问题,最后本测试方法还能兼顾托管和非拖管开发平台,提高测试工作效率。
【IPC分类】G06F11-36
【公开号】CN104572428
【申请号】CN201310483453
【发明人】陆璐
【申请人】陆璐
【公开日】2015年4月29日
【申请日】2013年10月16日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1