51Testing软件测试论坛

标题: 如何获取服务器返回的OID值及其关联的方法? [打印本页]

作者: topor    时间: 2008-12-11 22:35
标题: 如何获取服务器返回的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,不知道是什么原因丫。但是确实左右边界都是对的,是不是我放的位置有问题?希望大家多多帮忙呀,这个问题比较急,谢谢了!
作者: whyleave    时间: 2008-12-12 08:47
多贴点脚本!!
作者: topor    时间: 2008-12-12 09:30
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 编辑 ]
作者: Zee    时间: 2008-12-12 12:16
看一下保存的是不是数组.
作者: topor    时间: 2008-12-12 13:30
请问要去哪里看保存的结果?谢谢!
作者: topor    时间: 2008-12-13 23:34
自己顶一下,问题没解决,可不能沉帖呀。555~~~
作者: aprincess    时间: 2009-1-3 00:49
期待问题的解决!




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