51Testing软件测试论坛

标题: 高手帮忙!07最后一贴!Reg_save Parameter [打印本页]

作者: mustwangrong    时间: 2007-12-31 15:32
标题: 高手帮忙!07最后一贴!Reg_save Parameter
Web_reg_save_Parameter可以动态接受client端的动态JS参数吗?

[ 本帖最后由 mustwangrong 于 2008-1-2 18:06 编辑 ]
作者: mustwangrong    时间: 2008-1-2 10:52
标题: 没人回答?
好像是不行
我试了好多次
这段代码是想要看从sever收到第一段html标签到最后完成页面的时间--LR做不了
DEV的做法是JSP代码会动态的送一个日期之类的东西,然后计算
我们LR跑的时候可以帮他们动态发送这个日期吗?
新年快乐,高手帮助

[ 本帖最后由 mustwangrong 于 2008-1-4 10:09 编辑 ]
作者: 54111    时间: 2008-1-2 13:44
关注中
作者: mustwangrong    时间: 2008-1-3 12:06
标题: 这问题不难吧
高手呢?应该只是个概念问题.
作者: 板砖    时间: 2008-1-3 12:50
理论上可行.
作者: eden_guo    时间: 2008-1-3 13:53
是可以的呀..只要的设置好边界条件.然后应该就可以匹配出来
作者: msnshow    时间: 2008-1-3 17:02
绝对是可以实现的!
作者: mustwangrong    时间: 2008-1-4 10:08
我们已经回复DEV说不可以了
有空我再试试
各位老大都知道我的意思吧?我这段参数是从Jsp发出的,影像中那个涵数动态接受server的参数的.

[ 本帖最后由 mustwangrong 于 2008-1-4 10:11 编辑 ]
作者: stone0214    时间: 2008-1-5 22:33
个人估计不行。。。

web_reg_save_param里面的东西全都是从server response里面找出来的。。。

要从client request里面找东西的话估计只有自己写函数或者让开发给你个dll挂上去了
作者: mustwangrong    时间: 2008-1-7 18:27
标题: 回复 9# 的帖子
我就是这样认为的!
有权威人士确认一下吗?
作者: Zee    时间: 2008-1-7 22:50
把你想关联的东西,帖出来看看。
如果是服务器返回的值,就应该可以取出值来的。
作者: mustwangrong    时间: 2008-1-8 10:29
web_custom_request("EvSummaryAjaxManager.logHtmlTime.dwr", "URL=http://eccwb1d.ny.com:/exec/AjaxManager.logHtmlTime.dwr", "Method=POST", "Resource=1", "RecContentType=text/plain", "Referer=http://eccwb1d.ny.com:/exec/AjaxManager.logHtmlTime.dwtion.do?method=getmmary&first=true", "EncType=text/plain", "Body=callCount=1\nc0-scriptName=EvAjManager\nc0-methodName=logHtmlTime\nc0-id=6732_1199078254640\nc0-param0=string:1199078248539\nc0-param1=number:5140\nc0-param2=string:Client-Primary\nxml=true\n", LAST);
5140和1199078248539需要处理
个人觉得应该参数话,不过具体还不知道怎么干
作者: stone0214    时间: 2008-1-10 23:15
要的是上一个页面的response才看的到
光看这个是不能确定能不能处理的
作者: exodus    时间: 2008-1-11 11:10
要看server返回的log
作者: mustwangrong    时间: 2008-1-11 11:22
标题: 离这个request最近的response,谢谢stone0214
$$$$$$ Request Header For Transaction With Id 192 Ended $$$$$$
****** Request Body For Transaction With Id 192 ******
callCount=1
c0-scriptName=ESmaryAjaxManager
c0-methodName=logHtmlTime
c0-id=6307_1199078257750
c0-param0=string:1199078248539
c0-param1=number:5140
c0-param2=string:Client-Pri
xml=true
$$$$$$ Request Body For Transaction With Id 192 Ended $$$$$$
****** Response Header For Transaction With Id 192 ******
HTTP/1.1 200 OK
Server: ""
Date: Mon, 31 Dec 2007 05:17:38 GMT
Content-type: text/plain
P3p: CP="NOI DSP COR CURa ADMa DEVa OUR NOR UNI"
Transfer-encoding: chunked
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
$$$$$$ Response Header For Transaction With Id 192 Ended $$$$$$
****** Response Body For Transaction With Id 192 ******
var s0=null;
DWREngine._handleResponse('6307_1199078257750', s0);
$$$$$$ Response Body For Transaction With Id 192 Ended $$$$$$
****** Start Log Message ******
Start Frames Hierarchy Tree Dump
/sptal/dwr/exec/EmaryAjaxManager.logHtmlTime.dwr
End Frames Hierarchy Tree Dump
$$$$$$ End Log Message $$$$$$
****** Add Event For Transaction With Id 192 ****** (Location Flag : tFlagInsertEnd, Location ID : 192)
        web_custom_request("EmmaryAjaxManager.logHtmlTime.dwr_2","URL=http://ec.sb.com:10080/tal/dwr/exec/EmaryAjaxManager.logHtmlTime.dwr","Method=POST","Resource=1","RecContentType=text/plain","Referer=http://ec.sb.com:10080/tal/EtAction.domethod=getEvSummary&first=true","EncType=text/plain","Body=callCount=1\n""c0-riptName=EaryAjaxManager\n""c0-methodName=logHtmlTime\n"
                "c0-id=6307_1199078257750\n""c0-param0=string:1199078248539\n"
                                     "c0-param1=number:5140\n"
                                  "c0-param2=string:Client-Primary\n""xml=true\n""",LAST);
作者: stone0214    时间: 2008-1-14 10:42
标题: 客气了,不用谢 :)
web_custom_request("EmmaryAjaxManager.logHtmlTime.dwr_2","URL=http://ec.sb.com:10080/tal/dwr/exec/EmaryAjaxManager.logHtmlTime.dwr","Method=POST","Resource=1","RecContentType=text/plain","Referer=http://ec.sb.com:10080/tal/EtAction.domethod=getEvSummary&first=true","EncType=text/plain","Body=callCount=1\n""c0-riptName=EaryAjaxManager\n""c0-methodName=logHtmlTime\n"
                "c0-id=6307_1199078257750\n""c0-param0=string:1199078248539\n"
                                     "c0-param1=number:5140\n"
                                  "c0-param2=string:Client-Primary\n""xml=true\n""",LAST);

web_custom_request("EvSummaryAjaxManager.logHtmlTime.dwr", "URL=http://eccwb1d.ny.com:/exec/AjaxManager.logHtmlTime.dwr", "Method=POST", "Resource=1", "RecContentType=text/plain", "Referer=http://eccwb1d.ny.com:/exec/AjaxManager.logHtmlTime.dwtion.do?method=getmmary&first=true", "EncType=text/plain", "Body=callCount=1\nc0-scriptName=EvAjManager\nc0-methodName=logHtmlTime\nc0-id=6732_1199078254640\nc0-param0=string:1199078248539\nc0-param1=number:5140\nc0-param2=string:Client-Primary\nxml=true\n", LAST);


对比了下,两个请求应该不是同一个请求...所以贴上来的log不能判断能不能在web_custom_request("EvSummaryAjaxManager.logHtmlTime.dwr",前面写关联

[ 本帖最后由 stone0214 于 2008-1-14 12:23 编辑 ]
作者: stone0214    时间: 2008-1-14 12:24
需要拿到的是
web_custom_request("EvSummaryAjaxManager.logHtmlTime.dwr",
的server response
作者: mustwangrong    时间: 2008-1-14 13:50
标题: 回复 17# 的帖子
明白了,看来是要希望server对这个request动态回复才行.
不过我估计行不同,这是他们临时加的代码,粗糙的很.
anyway我试试先.
再次感谢stone0214!我的msn:mustwangrong@163.com,有机会聊聊
作者: mustwangrong    时间: 2008-1-18 17:31
标题: 后续
让DEV给我们动态取到数据库里面的一个值--上一个页面返回的
放在下一个页面web_submit_data里面:
web_submit_data
{...
"Name=st_p", "Value={CD}", ENDITEM,
...}
对CD可以关联吗?
觉得理论上可以,但是不像关连的样子--左右边界太少了:左边Value=右边", 右边界明显不行有"的

[ 本帖最后由 mustwangrong 于 2008-1-18 17:36 编辑 ]
作者: lyscu    时间: 2008-1-18 23:01
类似于接受response的值,可以用strcpy和strcat把【callCount=1\nc0-scriptName=EvAjManager\nc0-methodName=logHtmlTime\nc0-id=6732_1199078254640\nc0-param0=string:1199078248539\nc0-param1=number:5140\nc0-param2=string:Client-Primary\nxml=true\n"】做成一个参数,然后写到里面。body里面是不能参数化的。
作者: lyscu    时间: 2008-1-18 23:02
**************************特别说明**********************************
该帖是转发的同行peach的帖子,希望对你有帮助
************************************************************************

/* -----------------------------------------------------------------------------------------------------------------------------------
Script Title       : web_submit_data && web_custom_request Script Description : 有时录制的脚本不能满足我们数据设计时的需求,如以下这种情况:
想要的结果:通过输入一批相应的记录然后添加(这一批数据需要参数化),然后再提交记录.
实际录制结果:实际录制的时,操作是一次只能增加一条记录,然后再次输入记录,添加...提交.
这时录制出来的结果就是如下web_submit_data所示.
如果是海量数据而且并发用户操作数据的话,通过参数化的操作是不能满足我们需求的.
(因为不能在web_submit_data函数中进行相应修改)
  
                        
    Solution           : 先用URL进行相应录制后,此时在高级中同时选中web_custom_request,然后找出脚本中向服务器提交请求的body部分,
         此body部分实际上就是你批量增加记录的部分.
   把其中的报文截取出来后,先找出其中规律,再拆分,然后对相应你需要的数据部分进行参数化,然后再利用c语言进行拼装,
   得到你想要的报文后.再次利用web_custom_request函数,修改其中的相应参数后,放在脚本相应位置后,就可以工作了.
 此例中我找到的body字符串如下:在对字符串进行处理时,同时也要对%处理,格式如下:

   ------------------------------------------------------------------------------------------------------------------------------------- */
    cntrTextBox=&wlw-select_key%3A%7BactionForm.EDODomainObj.cntrNList%7DOldValue=true&wlw-select_key%3A%7BactionForm.EDODomainObj.cntrNList%7D=EDOE+1000025&wlw-select_key%3A%7BactionForm.EDODomainObj.cntrNList%7D=EDOE+1000026&%7BactionForm.EDODomainObj.edoDetailDomainObj.validityDt%7D=20070916&wlw-radio_button_group_key%3A%7BactionForm.selectType%7D=0&wlw-select_key%3A%7BactionForm.EDODomainObj.edoDetailDomainObj.hlrC%7DOldValue=true&" "wlw-select_key%3A%7BactionForm.EDODomainObj.edoDetailDomainObj.hlrC%7D=AOP190&%7BactionForm.hlrCT%7D=AOP190&%7BactionForm.EDODomainObj.edoDetailDomainObj.remark%7D=

web_submit_data("create.do",  
"Action=http://192.168.1.7/EDOWeb/com/tpsbhr/epc/biz/edo/interaction/createEmptyEDOByCntrN/create.do",  
"Method=POST",  
"RecContentType=text/html",  
"Referer=http://192.168.1.7/EDOWeb/CreatEmptyEDOByCntrN.do",  
"Snapshot=t5.inf",  
"Mode=HTML",  
ITEMDATA,  
"Name=cntrTextBox", "Value=", ENDITEM,  
"Name=wlw-select_key:{actionForm.EDODomainObj.cntrNList}OldValue", "Value=true", ENDITEM,  
"Name=wlw-select_key:{actionForm.EDODomainObj.cntrNList}", "Value=EDOB 1000025", ENDITEM,  
"Name=wlw-select_key:{actionForm.EDODomainObj.cntrNList}", "Value=EDOB 1000026", ENDITEM,  
"Name={actionForm.EDODomainObj.edoDetailDomainObj.validityDt}", "Value=20070918", ENDITEM,  
"Name=wlw-radio_button_group_key:{actionForm.selectType}", "Value=0", ENDITEM,  
"Name=wlw-select_key:{actionForm.EDODomainObj.edoDetailDomainObj.hlrC}OldValue", "Value=true", ENDITEM,  
"Name=wlw-select_key:{actionForm.EDODomainObj.edoDetailDomainObj.hlrC}", "Value=AOP190", ENDITEM,  
"Name={actionForm.hlrCT}", "Value=AOP190", ENDITEM,  
"Name={actionForm.EDODomainObj.edoDetailDomainObj.remark}", "Value=", ENDITEM,  
EXTRARES,  
"Url=/EDOWeb/resources/images/buttons_en/bt_update_over.jpg", ENDITEM,  
LAST);
Action()
{
char *strtmpA;
char *strtmpB;
int i;
if ((strtmpA = (char *)malloc(2048 * sizeof(char))) == NULL) {
lr_output_message("Insufficient memory available");
return -1;
}
if ((strtmpB = (char *)malloc(1024 * sizeof(char))) == NULL) {
lr_output_message("Insufficient memory available");
return -1;
}

sprintf(strtmpA, lr_eval_string ("cntrTextBox=&wlw-select_key%%3A%%"
"7BactionForm.EDODomainObj.cntrNList%%7DOldValue=true&"));
for(i=1; i<=25; i++){
sprintf(strtmpB, lr_eval_string ("wlw-select_key%%3A%%"
"7BactionForm.EDODomainObj.cntrNList%%"
"7D=EDOE+{value}&"));
strcat(strtmpA, strtmpB);
}
sprintf(strtmpB, lr_eval_string ("%%"
"7BactionForm.EDODomainObj.edoDetailDomainObj.validityDt%%"
"7D=20070916&wlw-radio_button_group_key%%"
"3A%%7BactionForm.selectType%%"
"7D=0&wlw-select_key%%3A%%"
"7BactionForm.EDODomainObj."
"edoDetailDomainObj.hlrC%%7DOldValue=true&"
"wlw-select_key%%3A%%7BactionForm.EDODomainObj."
"edoDetailDomainObj.hlrC%%7D=AOP190&%%7BactionForm."
"hlrCT%%7D=AOP190&%%7BactionForm.EDODomainObj."
"edoDetailDomainObj.remark%%7D="));
strcat(strtmpA, strtmpB);
lr_save_string (strtmpA, "myString");
lr_output_message("%s",lr_eval_string(strtmpA));
lr_output_message("%s",lr_eval_string("{value}"));




web_custom_request("create.do",  
"URL=http://192.168.1.7/EDOWeb/com/tpsbhr/epc/biz/edo/interaction/createEmptyEDOByCntrN/create.do",  
"Method=POST",  
"Resource=0",  
"RecContentType=text/html",  
"Referer=http://192.168.1.7/EDOWeb/CreatEmptyEDOByCntrN.do",  
"Snapshot=t5.inf",  
"Mode=HTTP",  
"Body={myString}",  
LAST);
free(strtmpA);
free(strtmpB);
作者: mustwangrong    时间: 2008-1-21 12:07
先用URL进行相应录制后,此时在高级中同时选中web_custom_request only?还是录制之前选中?
lyscu能告诉我原帖子地址吗?51testing的搜不好用

[ 本帖最后由 mustwangrong 于 2008-1-21 18:07 编辑 ]
作者: mustwangrong    时间: 2008-1-21 18:00
尝试了半天,没有头绪
好像这个参数不是上一个Response不知道DEV怎么得到的
明天再说
作者: mustwangrong    时间: 2008-1-23 12:06
标题: 又来一个问题
同样的环境,录制
我同事有web_reg_save_param
我的没有-_-#
我们只有版本的差别,他的是8.1我的是7.6




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