51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4179|回复: 9
打印 上一主题 下一主题

[原创] lr函数中使用变量的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-3-29 09:35:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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,请问题大家是怎么解决类似问题,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-3-29 10:11:40 | 只看该作者
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}"即可
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-3-29 13:04:40 | 只看该作者
谢谢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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-3-29 16:35:20 | 只看该作者
天啊,你将mystr代入到web_submit_data时为什么要加上双引号?
好心不一定办好事,去掉双引号就对了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-3-29 16:50:51 | 只看该作者
衷心谢谢你的帮忙,我换成mystr后,还不是不对,检查后发现mystr前有乱码,
可能是登录的init中的字串与其混在一起了,
将字符数组赋值为空或分配地址空间后,正确;
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-10-9 10:29:50 | 只看该作者
我也遇到了类似的问题,用了上述方法,有语法错误,不知道为什么,在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
.......
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-10-9 11:27:52 | 只看该作者

自己回

变量定义位置放错了,应该放在action的最前面,现在可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-10-9 11:34:12 | 只看该作者
请教:int sum;
sum=100;

        char number[10];
        char mystr[1024];
        char *strval = "Value=";
        itoa(sum,number,10);
        strcat(strcat(mystr,strval),number);
这是定义LR中变量的模版?
不太理解这种定义方式的意思。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-10-9 17:52:31 | 只看该作者
是啊,请大侠们指教一下。我也是刚刚接触lr。什么都不懂!
请教:int sum;
sum=100;

        char number[10];
        char mystr[1024];
        char *strval = "Value=";
        itoa(sum,number,10);
        strcat(strcat(mystr,strval),number);
这是定义LR中变量的模版?
不太理解这种定义方式的意思。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-10-15 22:42:17 | 只看该作者
查帮助去。LR的帮助很详细的。不自学,永远都不会用的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 11:11 , Processed in 0.075981 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表