51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2439|回复: 3

[原创] 关于删除操作相关的web_reg_save_param()的手工关联

[复制链接]

该用户从未签到

发表于 2010-11-18 10:53:00 | 显示全部楼层 |阅读模式
本帖最后由 flyven 于 2010-11-18 11:41 编辑

下面是删除一条记录的操作脚本,第一个web_submit_data()是删除操作,第二个web_submit_data()我不知道是怎么来的,如脚本中,在第一个web_submit_data()前插入关联函数web_reg_save_param(),运行脚本后,在日志中可以看到TASKID找到了一个值,但是进入到系统中,其实没有记录被删除,为什么呢?因为这条记录在录制脚本时已经被删除了,如果我们要想删除下一条记录,怎么办呢?我在跟贴里再告诉大家,这样做不是故弄弦虚,是为了让大家更好看到操作步骤,这样就不混乱。


Action()
{

    lr_start_transaction("删除任务");

    web_reg_save_param("TASKID",
        "LB=\"taskId\":\"",
        "RB=\",\"taskName\"",
        "Ord=1",
        "Search=Body",
        LAST);

  \\下面是第一个web_submit_data()
   web_submit_data("maintainTaskAC!changeTaskState.action", \\第一个web_submit_data
        "Action=http://s.sipo/neusipo/siposearch/maintainTaskAC!changeTaskState.action",
        "Method=POST",
        "RecContentType=application/json",
        "Referer=http://s.sipo/neusipo/siposearch/direct_login_success.action#",
        "Snapshot=t8.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=submit-type","Value=ajax",ENDITEM,
        "Name=taskInfo", "Value={\"taskId\":\"7c1545c2404e4f0bb748da943f3a4bca\",\"deleteFlag\":true}", ENDITEM, \\将“7c1545c2404e4f0bb748da943f3a4bca”用TASKID参数化,运行后,TASKID变成空值,进一步说明,这条记录已经被删除了,是一条不存在的数据
        "Name=ess.bizlog.modulelevel", "Value=102.10201.1020105", ENDITEM,
        LAST);
\\下面是第二个web_submit_data()
    web_submit_data("showSearchTaskListAC!showSearchTaskListByDirect.action_2", \\第二个web_submit_data
        "Action=http://s.sipo/neusipo/siposearch/showSearchTaskListAC!showSearchTaskListByDirect.action",
        "Method=POST",
        "RecContentType=application/json",
        "Referer=http://s.sipo/neusipo/siposearch/direct_login_success.action#",
        "Snapshot=t9.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=start", "Value=0", ENDITEM,
        "Name=limit", "Value=20", ENDITEM,
        "Name=ess.bizlog.modulelevel", "Value=102.10201.1020101", ENDITEM,
        LAST);

       lr_end_transaction("删除任务",LR_AUTO);

    return 0;
}
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-11-18 11:02:07 | 显示全部楼层
本帖最后由 flyven 于 2010-11-18 11:11 编辑

解决方法:

将web_reg_save_param()放到第二个web_submit_data()前,运行,发现TASKID找了一个值,这个值跟上次找到的值不一样,说明这个值就是下一条记录的标志,那么要删除的就是这条,但是删除操作的脚本是
第一个web_submit_data(),怎么办?那就将第一个web_submit_data()放到第二个web_submit_data()后面,这样就OK了,关联上了,删除也有了,先关联后删除,调整后的脚本就如下:
Action()
{

    lr_start_transaction("删除任务");

    web_reg_save_param("TASKID",
        "LB=\"taskId\":\"",
        "RB=\",\"taskName\"",
        "Ord=1",
        "Search=Body",
        LAST);


\\下面是第二个web_submit_data()
    web_submit_data("showSearchTaskListAC!showSearchTaskListByDirect.action_2",
        "Action=http://s.sipo/neusipo/siposearch/showSearchTaskListAC!showSearchTaskListByDirect.action",
        "Method=POST",
        "RecContentType=application/json",
        "Referer=http://s.sipo/neusipo/siposearch/direct_login_success.action#",
        "Snapshot=t9.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=start", "Value=0", ENDITEM,
        "Name=limit", "Value=20", ENDITEM,
        "Name=ess.bizlog.modulelevel", "Value=102.10201.1020101", ENDITEM,
        LAST);

\\下面是第一个web_submit_data()

    web_submit_data("maintainTaskAC!changeTaskState.action",
        "Action=http://s.sipo/neusipo/siposearch/maintainTaskAC!changeTaskState.action",
        "Method=POST",
        "RecContentType=application/json",
        "Referer=http://s.sipo/neusipo/siposearch/direct_login_success.action#",
        "Snapshot=t8.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=submit-type","Value=ajax",ENDITEM,
        "Name=taskInfo", "Value={\"taskId\":\"{TASKID}\",\"deleteFlag\":true}", ENDITEM, //7c1545c2404e4f0bb748da943f3a4bc用TASKID参数化
        "Name=ess.bizlog.modulelevel", "Value=102.10201.1020105", ENDITEM,
        LAST);

    lr_end_transaction("删除任务",LR_AUTO);

    return 0;
}

回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-11-18 11:18:27 | 显示全部楼层
本帖最后由 flyven 于 2010-11-18 11:40 编辑

同志们,看完后要给出评论呀,特别是有什么想法或以前也碰到过似的问题,请大家共享出来,只有共享知识,大家才能进步
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    发表于 2010-11-19 21:42:46 | 显示全部楼层
    原理很简单,通过关联函数从要删除的对像的列表找到这个对像,然后再删除就OK了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 16:32 , Processed in 0.076234 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表