51Testing软件测试论坛

标题: [已解决]在web_custom_request函数的body部分如何使用参数? [打印本页]

作者: kursk    时间: 2008-4-4 11:36
标题: [已解决]在web_custom_request函数的body部分如何使用参数?
看看下面这段代码

        web_custom_request("xmlService_11",
                "URL=http://192.168.99.221:8081/dbnetgrid/xmlService?mode=update&fp=null",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/xml",
                "Referer=http://192.168.99.221:8081/pmis/jtpmis/User-Jxkh/yg_kh2/grid_kh.jsp",
                "Snapshot=t22.inf",
                "Mode=HTML",
                "EncType=text/XML",
                "Body=<?xml version=\"1.0\"?><root><primarykey name=\"(to_char(KPBBH) || ':' || to_char(lsh))\" type=\"string\" autoincrement=\"false\"><![CDATA[]]></primarykey><primaryKeyColumns>KPBBH,lsh</primaryKeyColumns><fields><KP_KPXM.TYPE format=\"\" elementType=\"\"><value><![CDATA[workplan]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.TYPE><KP_KPXM.KPBBH format=\"\" elementType=\"\"><value><![CDATA[%s]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.KPBBH><KP_KPXM.XH format=\"\" elementType=\"\"><value><![CDATA[]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.XH><KP_KPXM.LSH format=\"\" elementType=\"\"><value><![CDATA[20080403163324626]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.LSH><KP_KPXM.JHNR format=\"\" elementType=\"\"><value><![CDATA[LRISGREATWORK]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.JHNR><KP_KPXM.QZZA format=\"\" elementType=\"\"><value><![CDATA[TESTINFO]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.QZZA><KP_KPXM.XDJH format=\"\" elementType=\"\"><value><![CDATA[]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.XDJH></fields><oracleSequenceName></oracleSequenceName><optimisticLocking>true</optimisticLocking><recordLog>false</recordLog><recordType>i,d,u</recordType><recordParams>,</recordParams><connectionString>samples</connectionString><dateFormat>y-m-d</dateFormat><timeFormat>h:mi</timeFormat><encoding>utf-8</encoding><fromPart>KP_KPXM</fromPart><joinPart></joinPart></root>",lr_eval_string(str1),
LAST);

红色部分是我手动修改过的位置,没有修改前的XML可以向服务器提交申请,产生正确的数据记录,但是因为有KPBBH这个字段插入的数据我想用script来控制,但是又不想用关联参数,觉得太麻烦,因此我灵机一动,试试用参数来写如何,当然了结果不太好,编译时报错
Action.c(437): Error -27226: The "20080320094204290" argument (number 11) is unrecognized or misplaced   [MsgId: MERR-27226]
Action.c(437): web_custom_request("xmlService_11") highest severity level was "ERROR", 0 body bytes, 0 header bytes   [MsgId: MMSG-26388]


我是一个LR新手,请各位大侠指教一下,这个地方的参数该怎么写?

[ 本帖最后由 kursk 于 2008-4-7 21:58 编辑 ]
作者: liangjz    时间: 2008-4-4 12:06
lr_eval_string(str1) ?

这里能用 lr_eval_string 的是类似  {str1} 这样的LR 解析的变量。

可以用 sprintf(buf,....) 拷贝字节进buf 处理
作者: kursk    时间: 2008-4-4 20:37
原帖由 liangjz 于 2008-4-4 12:06 发表
lr_eval_string(str1) ?

这里能用 lr_eval_string 的是类似  {str1} 这样的LR 解析的变量。

可以用 sprintf(buf,....) 拷贝字节进buf 处理


小弟不才,能不能说得详细一点,如何在buf中处理呢?又如何取出来呢?我用的是http协议啊,不是winsocket协议,也有BUF吗?
作者: qaarchitech    时间: 2008-4-5 20:15
类似
#define BUF_LEN  20480

char  * buf =NULL;

buf  =  (char *) malloc(BUF_LEN +1);
memset(buf,0,BUF_LEN+1);
sprintf(buf,"
=<?xml version=\"1.0\"?><root><primarykey name=\"(to_char(KPBBH) || ':' || to_char(lsh))\" type=\"string\" autoincrement=\"false\"><![CDATA[]]></primarykey><primaryKeyColumns>KPBBH,lsh</primaryKeyColumns><fields><KP_KPXM.TYPE format=\"\" elementType=\"\"><value><![CDATA[workplan]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.TYPE><KP_KPXM.KPBBH format=\"\" elementType=\"\"><value><![CDATA[%s]]></value><originalvalue><![CDATA[]]></originalvalue></KP_KPXM.KPBBH><KP_KPXM.XH format=\"\" %s", lr_eval_strings("{param_name}" )  );


web_custom_request( ...... buf,.....);
作者: kursk    时间: 2008-4-7 21:56
多谢大侠指点,小弟受教了
作者: CrazyPolaris    时间: 2016-4-8 16:57
谢谢,帮到忙了。。




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