关于删除操作相关的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: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:40 编辑
同志们,看完后要给出评论呀,特别是有什么想法或以前也碰到过似的问题,请大家共享出来,只有共享知识,大家才能进步 原理很简单,通过关联函数从要删除的对像的列表找到这个对像,然后再删除就OK了
页:
[1]