技术开发 频道

基于RFT的测试脚本自动修复技术

4 脚本修复技术的实现

  脚本修复的模块设计如下图所示,待测系统1为旧系统,待测系统2为新系统。当输入两个对象集合之后,通过对比,获得发生变更的对象3;同时更新对象3的事件操作,并找出涉及到该对象3的测试脚本;最后对脚本进行修复,生成可重用的测试脚本。


图11. 解析文件生成代码的流程图

  脚本修复器的实现要考虑的情况比较多,也比较复杂。因此对于脚本修复的实现主要从三个大类进行实现,即新增对象,删除对象,修改对象:

1)对新增节点的处理流程如图所示:


图12. 新增节点处理流程图

  具体算法实现如下:

// 更新脚本,参数为脚本名称,新增对象列表
Public boolean UpdateScript(String Testcasename,Element newlist)
{
    int size = getaddedNode.size();// 节点个数
    int i;
    String nodename;
    String depend;// 依赖节点名称
    Boolean update = false;// 更新标记位
    for(i=0;i<size;i++)// 遍历节点
    {
        if(depend.equalsIgnoreCase(“true”))// 存在依赖关系
        {
            if(operations.findefunction(nodename))// 找到该节点
            {
                String default = nodename + “default”;// 默认函数名称
                operations.instead(nodename,default);// 用默认函数代替原函数
                update = true;
            }
        else
            continue;
    }
    Return update;// 返回 true 或者 false
}

0
相关文章