51Testing软件测试论坛
标题:
lr函数中使用变量的问题
[打印本页]
作者:
xw898
时间:
2006-3-29 09:35
标题:
lr函数中使用变量的问题
1,问题背景:
在action中有一个提交函数:web_submit_data(){
....
ITEMDATA;
"Name=id","Value=788",ENDITEM,
LAST;
}
想要将“788”用变量代替,不是参数化;
脚本如下:
action()
{
int i;
i=800;
web_submit_data(){
....
ITEMDATA;
"Name=id","Value={i}",ENDITEM,
LAST;
}
return 0;
}
执行脚本,但是报错,变量并没有替换为800;
2,请问题大家是怎么解决类似问题,谢谢!
作者:
xyuan007
时间:
2006-3-29 10:11
int i=800;
char number[10];
char mystr[1024];
char *strval = "Value=";
itoa(i,number,10);
strcat(strcat(mystr,strval),number);
lr_output_message("%s",mystr);
最后用mystr替换掉"Value={i}"即可
作者:
xw898
时间:
2006-3-29 13:04
谢谢xyuan007 的回复,用你的方法单独执行是对的,
但放入web_submit_data
(
....
ITEMDATA,
"Name=id","mystr",ENDITEM, //or "Name=id",mystr,ENDITEM or "Name=id","{mystr}",ENDITEM
Last);
执行,还不是报错,通不过?还请帮忙看看,十分感谢!
报错信息:Error -27225: the "□□h□□Value=800" argument (number 10) is not recognized within "ITEMDATA"
是不是因为“□□h□□"造成的,该乱码是在strcat后出现的,检查发现当取消init和end中的登录后,就没有乱码了;
[
本帖最后由 xw898 于 2006-3-29 15:28 编辑
]
作者:
xyuan007
时间:
2006-3-29 16:35
天啊,你将mystr代入到web_submit_data时为什么要加上双引号?
好心不一定办好事,去掉双引号就对了。
作者:
xw898
时间:
2006-3-29 16:50
衷心谢谢你的帮忙,我换成mystr后,还不是不对,检查后发现mystr前有乱码,
可能是登录的init中的字串与其混在一起了,
将字符数组赋值为空或分配地址空间后,正确;
作者:
fy_dodo
时间:
2006-10-9 10:29
我也遇到了类似的问题,用了上述方法,有语法错误,不知道为什么,在action中:
int sum;
sum=100;
char number[10];
char mystr[1024];
char *strval = "Value=";
itoa(sum,number,10);
strcat(strcat(mystr,strval),number);
web_submit_form("comment",
"Snapshot=t4.inf",
ITEMDATA,
"Name=name", "Value=小冯", ENDITEM,
"Name=answer",mystr, ENDITEM,
EXTRARES,
.....
LAST);
检查代码有错误:
Action.c (69): illegal statement termination
Action.c (69): skipping `char'
Action.c (69): undeclared identifier `number'
Action.c (69): type error: pointer expected
.......
作者:
fy_dodo
时间:
2006-10-9 11:27
标题:
自己回
变量定义位置放错了,应该放在action的最前面,现在可以了。
作者:
jiline
时间:
2006-10-9 11:34
请教:int sum;
sum=100;
char number[10];
char mystr[1024];
char *strval = "Value=";
itoa(sum,number,10);
strcat(strcat(mystr,strval),number);
这是定义LR中变量的模版?
不太理解这种定义方式的意思。
作者:
sky2006ok
时间:
2006-10-9 17:52
是啊,请大侠们指教一下。我也是刚刚接触lr。什么都不懂!
请教:int sum;
sum=100;
char number[10];
char mystr[1024];
char *strval = "Value=";
itoa(sum,number,10);
strcat(strcat(mystr,strval),number);
这是定义LR中变量的模版?
不太理解这种定义方式的意思。
作者:
jackloo
时间:
2006-10-15 22:42
查帮助去。LR的帮助很详细的。不自学,永远都不会用的。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2