标题: 脚本录制与参数化设计 [打印本页] 作者: duola1119 时间: 2007-3-12 10:57 标题: 脚本录制与参数化设计 请大家帮忙看一下.也许你们也遇到过的!所以我将标题修改为资料了!请原谅.
使用LR录制了一份脚本.其中有一个动态数据taskid.它是指工作流ID.
一个工程中包括很多的工作流.每一个工作流都有不同的taskid.
录制脚本之后.我写了一个
web_reg_save_param("task_id",
"LB/IC=<a href=\"javasrcipt:openTaskWindow('",
"RB/IC=')",
"Ord=1",
"Search=ALL",
LAST);
其中程序代码中的taskid是这样的:<td><a href="javascript:openTaskWindow('4')">UserTask</a></td>,这里taskid=4;
为了从服务端获取这个task_id.然后我在录制脚本中.将所有出现taskid的地方都用file类型的叫task_id参数替换,
但是总是搞不清这段小程序应该放在哪个位置.每次更换位置都会有错误:no math found task_id.
这个问题已经困扰了我很久了.非常闹心啊.哪位同仁解决过这类问题的给小弟提示一下.多谢了.作者: duola1119 时间: 2007-3-12 10:58
国际惯例我先顶一下.
这个问题我问了好几次了.一直都没人回答.好伤心.作者: duola1119 时间: 2007-3-12 11:20
大家不要看了就走.说句话嘛作者: duola1119 时间: 2007-3-12 12:43
Action.c(110): Error -26377: No match found for the requested parameter "task_id". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
Action.c(110): web_url("taskdetail.do") highest severity level was "ERROR", 2712 body bytes, 150 header bytes, 30 chunking overhead bytes [MsgId: MMSG-26387]
Ending action Action.作者: Zee 时间: 2007-3-12 13:36
web_reg_save_param is a registration type function. It registers a request to find and save a text string within the server response. The operation is performed only after executing the next action function, such as web_url.作者: duola1119 时间: 2007-3-12 13:51
Zee.位置问题已经解决.
但现在总是提示获取的taskid不够准确.
其中程序中涉及到的地方一共有:
<script type="text/javascript">
function openTaskWindow(taskId){
theLeft=(screen.width - 600)/2;
theTop=(screen.height - 500)/2;
window.open("taskdetail.do?fromMonitoringList=true&taskid="+taskId,'','scrollbars,top='+theTop+',left='+theLeft+',width=600,height=500,resizable=yes');
}
function openErrorTaskWindow(taskId){
theLeft=(screen.width - 600)/2;
theTop=(screen.height - 500)/2;
window.open("errortaskDetail.do?fromMonitoringList=true&errorTaskId="+taskId,'','scrollbars,top='+theTop+',left='+theLeft+',width=600,height=500,resizable=yes');
}
这里有taskId,还有
<td><a href="javascript:openTaskWindow('4')">UserTask</a></td>
这个4也是taskid.
我写的web_reg_save_param();应该取哪个值呢?
几乎所有的我都试了.都不好使.作者: duola1119 时间: 2007-3-12 15:07
我的问题是太简单.还是太难?怎么没人回答.?作者: Zee 时间: 2007-3-12 16:46
应该取哪个值?
ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array. This attribute is optional.
Note: The use of Instance instead of ORD is supported for backward compatibility, but deprecated.作者: ppent 时间: 2007-3-12 18:21
你的软件实现方式和我测试的很类似,只是你的是bs,我的是cs。
思路是每次将服务器返回的taskid存到变量中作为下一步处理的对象。作者: duola1119 时间: 2007-3-13 08:57
我也是这个思路.但是在每次执行之后.就是获取不到这个task_id.
web_reg_save_param();
中LB,RB都=空的时候.web_reg_save_param下的脚本就能够正常执行.
但是当LB=<a href=\"javasrcipt:openTaskWindow('
RB=')的时候这个函数下面的脚本就不执行了.直接错误.
Error -26377: No match found for the requested parameter "task_id". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
Action.c(116): web_url("taskdetail.do") highest severity level was "ERROR", 5666 body bytes, 355 header bytes, 18 chunking overhead bytes [MsgId: MMSG-26387]
Ending action Action.作者: Zee 时间: 2007-3-13 09:25
你把取出的值打印出来看看。
还有,你是在哪里调用这个变量的?
别写错地方了。作者: duola1119 时间: 2007-3-13 10:25
lr_output_message("aaaaa=%s",lr_eval_string("{taskId}"));
打印结果是:
aaaaa=taskId;
当"LB= ","RB= ",的时候打印结果是aaaaa=28.这个28是我第一次录制的时候用到的taskid值.
web_reg_save_param("task_id",
"LB/IC=<a href=\"javasrcipt:openTaskWindow('",
"RB/IC=')",
"Ord=1",
"Search=ALL",
LAST );
The web_reg_save_paramfunction is a Service function used for correlating HTML statements in Web Vuser scripts. Click here for an overview on Correlation
这个是LR帮助文件中的描述
个人也遇到过这样的问题,我认为应当注意以下三个方面
1 录制脚本时候的设置,是否 是HTML statements in Web Vuser scripts
2 录制脚本过程中web_reg_save_param的位置,应当放在要取数的页面前
3 参数的上下标识符号,注意特殊符号LR是否不可识别作者: duola1119 时间: 2007-3-20 09:30
web_reg_save_param函数是一个用来在HTML语句中关联的服务型函数.
难道说对java script就不好使了吗?
html statements in web vuser scripts 这个设置又是在哪个地方?是指htme based.和url based么?