51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4854|回复: 13
打印 上一主题 下一主题

[原创] LoadRunner 脚本语言求助啊。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-26 11:21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我录了一段填写参数的脚本语言并把其中的一个字符串修改为变量的形式,编译的时候没错,但运行的时候出错。

错误描述如下:

ction.c(112): Error -27225: The ""Name=comment_content", "Value=如果您的浏览器没有自动跳转,请点击这里_3北京"" argument (number 4) is not recognized within "ITEMDATA"      [MsgId: MERR-27225]
Action.c(112): web_submit_form("cb_comment_save.php_3") highest severity level was "ERROR", 0 body bytes, 0 header bytes      [MsgId: MMSG-26388]


代码段如下:

   char buf[200]   ;
   lr_think_time(10);
   
   strcpy(buf,"\"Name=comment_content\", \"Value=");
   strcat(buf,"如果您的浏览器没有自动跳转,请点击这里_3北京邮电大学\"");

   lr_output_message(buf);

   web_submit_form("cb_comment_save.php_3",
       "Snapshot=t9.inf",
       ITEMDATA,
        buf , ENDITEM,   //运行此函数的时候出错。
       LAST);



还请高人帮忙啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2014-11-17 11:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-1-26 12:31:48 | 只看该作者
    我现在还不会自己编写脚本语言,惭愧啊.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-1-26 13:42:56 | 只看该作者
    你如果不自己参数化修改,默认录制出来是什么样子的脚本?

    应该是你参数的地方语法有问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2007-1-26 13:49:24 | 只看该作者

    我只是将这句话,替换成一个变量了,

    我只是将这句话,替换成一个变量了,
    "Name=comment_content", "Value=如果您的浏览器没有自动跳转,请点击这里_3北京"

    这个句在运行的时候出了问题,编译的时候是通过的,程序提示无法识别那个变量。
    但是我printf出了这个变量的值啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-1-26 13:49:42 | 只看该作者
    你如果把脚本就改成如下,会出错吗?
    web_submit_form("cb_comment_save.php_3",
          "Snapshot=t9.inf",
           ITEMDATA,
           "Name=comment_content", "Value=如果您的浏览器没有自动跳转,请点击这里_3北京邮电大学" , ENDITEM,   
           LAST);
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-1-26 14:07:41 | 只看该作者

    改成这个样子是不会出错的,

    改成这个样子是不会出错的,但就是不明白,为什么不能用变量来替换,
    我是需要将这个字符串换成变量啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-1-26 14:13:47 | 只看该作者
    我猜测,
    buffer = {"Name=comment_content", "Value=如果您的浏览器没有自动跳转,请点击这里_3北京邮电大学" , ENDITEM, }
    在编译时期的语义上是错误的,我想编译器编译到这一行的时候会查找Name=XXXX, Value=XXXX等关键字。

    你可以只把  “如果您的浏览器没有自动跳转,请点击这里_3北京邮电大学” 替换成参数可以解决问题吗?

    一般来说,只有Value才需要去参数化,莫非你的Name=comment_content也会改变?那么你就要录制两个脚本了?因为这个已经违背了自动测试的原则。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2007-1-26 14:33:31 | 只看该作者

    好的

    好的,我试一下,谢谢大侠了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-1-26 14:35:17 | 只看该作者

    我改成这个样子了,还不行啊,

    我改成这个样子了,还不行啊,
    lr_think_time(10);

       strcpy(buf,"\"Name=comment_content\"");
       strcpy(buf1,"\"Value=如果您的浏览器没有自动跳转,请点击这里_3 \"");

       lr_output_message(buf);
       lr_output_message(buf1);

       web_submit_form("cb_comment_save.php_3",
               "Snapshot=t9.inf",
               ITEMDATA,
                "Name=comment_content" ,buf1, ENDITEM,
               LAST);

    Value= 连同后面的值都在一个双引号里面,这也要分开吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-1-26 14:46:20 | 只看该作者
    Value也是关键字
    Value= ‘连同后面的值都在一个双引号里面,这也要分开。你试试看!

    可是你为什么要这样子参数化呢?
    标准做法应该是:
    1. 选中你要参数化的文字“如果您的浏览器没有自动跳转,请点击这里_3”
    2. 在选中的文件上,点击鼠标右键,
    3. 选择“Replace with a parameter”,
    4. 默认选择文件类型的,然后给参数命名。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2007-1-26 15:18:03 | 只看该作者

    解决了,太感谢了,您的方法还真灵

    继续问一个问题,怎么样使一个数值型的变量自动加1啊
    例如:
    lr_think_time(10)
    我把里面的 常量 10 按照您上面的方法替换成一个数值型的参数,但怎么样能让这个参数在每次循环中自动加1 呢?
    还请大侠指教啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-1-26 15:22:27 | 只看该作者
    呵呵,不用谢!
    多种方法
    1. 替换以后,类型选择文件,在文件里面你人工指定很多参数。10,11,12,13,etc
    2. 替换以后,类型选择Unique Number,

    建议去看看关于参数化的help文档,里面有详细的介绍!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-1-26 15:24:39 | 只看该作者

    回复 #9 wlzsbyj 的帖子

    lr_think_time(10);

       strcpy(buf,"\"Name=comment_content\"");
       strcpy(buf1,"\"Value=如果您的浏览器没有自动跳转,请点击这里_3 \"");
    不需要转义“,直接strcpy(buf1,"Value=如果您的浏览器没有自动跳转,请点击这里_3 ");就行了
       lr_output_message(buf);
       lr_output_message(buf1);

       web_submit_form("cb_comment_save.php_3",
               "Snapshot=t9.inf",
               ITEMDATA,
                "Name=comment_content" ,buf1, ENDITEM,
               LAST);
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-5-23 16:06:37 | 只看该作者
    这个错是因为buf不是个参数,而是个变量,要lr_save_string(buf,"str");把buf的值赋给str这个参数,当然了,这个参数也是要定义的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 21:58 , Processed in 0.078281 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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