51Testing软件测试论坛

标题: 问个为大虾一个变量的问题~~ [打印本页]

作者: tiantian1    时间: 2006-6-15 13:26
标题: 问个为大虾一个变量的问题~~
我在loadrunner中定义了一个变量,char pay[50]
然后将返回包中的值传给了pay,并且以lr_message("temp = %s", pay); 显示出的值是正确的.
比如1000.但是在下面用到该变量的时候报错
        web_custom_request("busifacadeservlet_5",
                "URL=http://10.10.27.149:9080/han/servlet",
                "Body=<?xml version=\"5.0\"?>\r\n"
"<Function name=\"hanll\" serviceName=\"com.han\"><show>pay</show>
在下面直接传pay,出错,Execute Error?For input string: "pay",如果在pay的位置直接用1000.那是正确的,原因应该是程序没有把pay看作是变量,而当成了字符.
请问各位大虾该怎么处理,是<show>pay</show>应该怎么写?
作者: andy    时间: 2006-6-15 13:46
<show>lr_eval_string("pay")</show>
作者: tiantian1    时间: 2006-6-15 13:54
谢谢楼上
试了一下,编译都过不了,lr_eval_string("pay"),引号去掉后也不行
作者: andy    时间: 2006-6-15 14:07
报什么错?
试一下这样,

strcpy(pay,"1000");
lr_eval_string("pay");
作者: tiantian1    时间: 2006-6-15 15:00
syntax error; found `pay' expecting `)'
syntax error; found `pay' expecting `;'
syntax error; found ") </show></opaym ... expecting       这个是lr_eval_string("pay")后面的部分
syntax error; found `)' expecting `;'
illegal statement termination
skipping `)'
\\\combined_cash.c (4): 6 errors, not writing pre_cci.

这个是编译的错误,用lr_eval_string("pay")
好象加了引号以后后面的都不能识别了
作者: fish_yy    时间: 2006-6-15 15:38
也许我写的这个脚本对你有用

int i;
static char *type[]={"A'","A"};

lr_save_string(type[i],"tmp");

        web_submit_data("inputactive.do_4",
                "Action=http://192.168.0.227:8080/dsaes/inputactive.do",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.0.227:8080/dsaes/inputactive.do",
                "Snapshot=t16.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=actionMethod", "Value=singleInput", ENDITEM,
                "Name=schoolid", "Value=402880630808fc6c010808fd32300002", ENDITEM,
                "Name=schoolname", "Value=测试小学", ENDITEM,
                "Name=grade_hidden", "Value=2012001,1", ENDITEM,
                "Name=select_grade", "Value=2012001,1", ENDITEM,
                "Name=class_hidden", "Value=2012001,1,1", ENDITEM,
                "Name=select_class", "Value=2012001,1,1", ENDITEM,
                "Name=select_classall", "Value=2012001,1,1", ENDITEM,
                "Name=studentids", "Value=402880630808fc6c010808ffbc070009", ENDITEM,
                "Name=studentids", "Value=402880630808fc6c010808ffbc36000a", ENDITEM,
                "Name=checkbox", "Value=checkbox", ENDITEM,
                "Name=resunitid", "Value=402880630808fc6c010808fd323f0003", ENDITEM,
                "Name=resunitInputType", "Value=select", ENDITEM,
                "Name=resunitname", "Value=测试小学", ENDITEM,
                "Name=resunitnameInput", "Value=", ENDITEM,
                "Name=evaCritId", "Value={id}", ENDITEM,
                "Name=gradeSort", "Value={tmp}", ENDITEM,
                "Name=actionDate", "Value=2005-12-08", ENDITEM,
                "Name=actionDays", "Value=1", ENDITEM,
                "Name=actionTheme", "Value={bt}", ENDITEM,
                "Name=disp_grade_all", "Value=0", ENDITEM,
                "Name=disp_class_all", "Value=0", ENDITEM,
                EXTRARES,
                "Url=images/back.gif", ENDITEM,
                LAST);
作者: andy    时间: 2006-6-15 15:51
char pay[80];
strcpy(pay,"1000");
lr_output_message("string=%s", pay);
数组是不能直接打印的.通过strcpy函数实现
作者: tiantian1    时间: 2006-6-15 15:58
谢谢楼上,搞定了,呵呵




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