客户端自动化测试之Proxy框架介绍
作者:网络转载 发布时间:[ 2012/10/31 10:39:33 ] 推荐标签:
模块设计及实现
ProxyAdapter需要接收上层的请求,并将请求转发至ProxyAgent层。因此需要定义相应的协议来进行通信。产品状态信息有多种,相应的对象也有多种,不同的方式导致无法提供接口,现阶段存在两种接口。通过这些定义好的协议和接口,可以实现一个完整的通信过程。通信过程如图四所示。
图4 Proxy调用过程
通信协议
Proxy接收用户命令,需要获取产品上某个控件的状态信息。通常情况下需要两个标识才能实现。具体表现为<对象标识,控件标识>。由于产品设计原因,现存在两种协议。我们采用Windows消息和共享内存实现命令的传输,所以下面协议的表达形式按SendMessage参数来进行。两种协议对不同的UI控件实现支持。
图5 协议一
图6 协议二
通信接口
存在两种协议,所以模块提供了两种类型的接口。接口1形式为GetXXXXInfoByIdx,每个接口对应一个真实存在的产品窗体对象;接口2形式更为通用,它只有一个接口,通过参数来标识要获取信息的对象,形如GetUIInfoByName(int nObjectID,CString szName,CString szType);
ProxyAgent代码结构
ProxyAgent在接收到命令之后会根据其目标对象将命令转发至相应的处理类(函数),通过调用统一的接口,获取控件基本的状态信息。当有新窗口加入时,只需要实现相应的子类即可。表1展示了获取某个功能窗口相应控件信息的过程。可以看出,在代码中添加新功能较为简单。
表1 增加某些新功能的支持
ProxyAdapter代码结构
ProxyAdapter结构较为简单,实现简单的数据转化、转发功能。一是把上层数据转化为Windows消息和共享内存数据发送到ProxyAgent,二是从共享内存接收ProxyAgent返回的数据。表2展示了一个典型的数据转发过程。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11