51Testing软件测试论坛

标题: 关于删除操作相关的web_reg_save_param()的手工关联 [打印本页]

作者: flyven    时间: 2010-11-18 10:53
标题: 关于删除操作相关的web_reg_save_param()的手工关联
本帖最后由 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;
}
作者: flyven    时间: 2010-11-18 11:02
本帖最后由 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;
}


作者: flyven    时间: 2010-11-18 11:18
本帖最后由 flyven 于 2010-11-18 11:40 编辑

同志们,看完后要给出评论呀,特别是有什么想法或以前也碰到过似的问题,请大家共享出来,只有共享知识,大家才能进步
作者: msnshow    时间: 2010-11-19 21:42
原理很简单,通过关联函数从要删除的对像的列表找到这个对像,然后再删除就OK了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2