如何获取服务器返回的OID值及其关联的方法?
我在录制一个web程序的时候碰到一个问题,问题描述如下:目的:创建一个新的订单 (该订单包含多个子tab页面,每个页面包含不同的信息。比如说页面1:概要信息,页面2:货品信息..)
在输入完tab1的信息转换到tab2的时候,系统会自动保存,生成一个订单号,从服务器端返回一个OID号,对应此订单。
同时从服务器端取该oid.aspx的页面下的tab2出来,让用户输入货物信息,此后所有操作均在oid.aspx子页面下完成。
步骤:
1.在tab1输入信息。(此时为:_EVENTARGUMENTX:New ,意味着这是一张新的订单。这个值是从server response里面看到的)
2.点击“保存并到下一步”按钮。(此时生成一个订单号****,服务器返回一个oid:10680)
3.tab2页面显示,输入信息。(在tab2页面显示的时候网址已经是带EVENTARGUMENTX:10680.aspx了,以便可以把tab2的信息存入数据库该订单下)
问题:
在回放的时候输入完tab1的信息,在转换到tab2页面上是,脚本会根据脚本把录制时生成那个订单oid.aspx页面拿出来(oid是写死在脚本里面了),所以运行完的结果就是转换到tab2一下的脚本都是在原来的那个订单上做操作,而不是真的创建一张新的订单?
所以我现在做的就是在服务器返回oid值的时候:即第2步后,用wen_reg_sage_para(“value”,LB="EVENTARGUMENTX",RB=" ",LAST )函数来关联,然后再把后面用到10680的地方用{value}来取代。请问大家我这样的做法对吗?
关联之后回放的时候还是出错,错误提示说没有找到匹配的value,不知道是什么原因丫。但是确实左右边界都是对的,是不是我放的位置有问题?希望大家多多帮忙呀,这个问题比较急,谢谢了! 多贴点脚本!! web_custom_request("ShipmentGeneralInfo.aspx_4",
"URL=http://***/Module/ShipmentRequest/ShipmentGeneralInfo.aspx?__EP=M&__EVENTX=New",
"Method=POST",
"Resource=0",
"RecContentType=text/plain",
"Referer=http://***/Module/ShipmentRequest/ShipmentGeneralInfo.aspx?__EP=M&__EVENTX=New",
"Snapshot=t40.inf",
"Mode=HTML",
"Body=ctl00$ScriptManager1=ctl00$ContentPlaceHolder1$ServiceUpdatePanel|ctl00$ContentPlaceHolder1$GridTriggerService&__EVENTTARGET=ctl00%24ContentPlaceHolder1%24GridTriggerService&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%.....LAST);
web_submit_data("logging_5",
"Action=http://***.com:8740/.../logging",
"Method=POST",
"RecContentType=text/plain",
"Referer=http://***/Module/ShipmentRequest/ShipmentGeneralInfo.aspx?__EP=M&__EVENTX=New",
"Snapshot=t41.inf",
"Mode=HTML",
ITEMDATA,
"Name=userId", "Value=123", ENDITEM,
"Name=ipAddress", "Value=143.221.12.199", ENDITEM,
"Name=accessWebPage", "Value=ShipmentRequest/ShipmentGeneralInfo.aspx?__EP:M&__EVENTX:New", ENDITEM,
"Name=eventSource", "Value=ctl00_ContentPlaceHolder1_GridTriggerService", ENDITEM,
"Name=webTriggerPoint", "Value=1228983327409", ENDITEM,
"Name=webGetRepPoint", "Value=1228983328127", ENDITEM,
"Name=webLoadedPoint", "Value=1228983328470", ENDITEM,
"Name=iisRecReqPoint", "Value=1228983320968", ENDITEM,
"Name=iisResponsePoint", "Value=1228983321109", ENDITEM,
"Name=reqSize", "Value=14939", ENDITEM,
"Name=respSize", "Value=0", ENDITEM,
LAST);
web_add_cookie("webTriggerPoint=1228983331607; DOMAIN=***.com");
web_add_cookie("eventSource=ctl00_ContentPlaceHolder1_nextStep; DOMAIN=***.com");
web_submit_data("ShipmentGeneralInfo.aspx_5",
"Action=http://***/Module/ShipmentRequest/ShipmentGeneralInfo.aspx?__EP=M&__EVENTX=New",
"Method=POST",
"RecContentType=text/html",
"Referer=http://***/Module/ShipmentRequest/ShipmentGeneralInfo.aspx?__EP=M&__EVENTX=New",
"Snapshot=t42.inf",
"Mode=HTML",
ITEMDATA,
"Name=__EVENTTARGET", "Value=", ENDITEM,
"Name=__EVENTARGUMENT", "Value=", ENDITEM,
"Name=__LASTFOCUS", "Value=", ENDITEM,
"Name=__VIEWSTATE", "Value=/wEPDwULLTE5MzI3ODAxNTgPFCsAAhYEHg9fX1BST0RVQ1RDT0RFX18XAgUINjkwNE5hbWUFEjEwMzEgY29udHJhY3QgdGVzdAUENjkwNAUCSUQeEV9fQ3VzdG9tZXJPcmRlcl9fMskFAAEAAAD/////...
web_url("navabc.xml_3",
"URL=http://***.com/xml/navabc.xml",
"Resource=0",
"RecContentType=text/xml",
"Referer=http://***/Module/ShipmentRequest/PartyLocation.aspx?__EVENTX=Edit&__EVENTARGUMENTX=10680",
"Snapshot=t43.inf",
"Mode=HTML",
LAST);
web_submit_data("logging_6",
"Action=http://***.com:8740/abc/logging",
"Method=POST",
"RecContentType=text/plain",
"Referer=http://***/Module/ShipmentRequest/PartyLocation.aspx?__EVENTX=Edit&__EVENTARGUMENTX=10680",
"Snapshot=t44.inf",
"Mode=HTML",
ITEMDATA,
"Name=userId", "Value=123", ENDITEM,
"Name=ipAddress", "Value=143.221.12.199", ENDITEM,
"Name=accessWebPage", "Value=ShipmentRequest/PartyLocation.aspx?__EVENTX:Edit&__EVENTARGUMENTX:10680", ENDITEM,
"Name=eventSource", "Value=ctl00_ContentPlaceHolder1_nextStep", ENDITEM,
...
由于body脚本过长,只截取了部分贴上来.
由上面的脚本可以看出在shipment request下的general info的时候EVENTARGUMENTX:New,但是到了shipment request下的partylocation那里就已经变成了EVENTARGUMENTX:10680.(已经查明10680是这个order在DB的OID号)
这个问题怎么解决?谢谢!
[ 本帖最后由 topor 于 2008-12-12 09:32 编辑 ] 看一下保存的是不是数组. 请问要去哪里看保存的结果?谢谢! 自己顶一下,问题没解决,可不能沉帖呀。555~~~ 期待问题的解决!
页:
[1]