51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7917|回复: 16
打印 上一主题 下一主题

[原创] save param 参数无效。错误代码: 9005。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-26 15:48:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 MYMREMIND 于 2010-10-27 08:52 编辑

大家好,我在用socket协议写了个脚本后,回放没有错误,执行场景的时候,如果不加持续时间也没有错误,但是一加入持续时间,执行场景的时候就会报错:save param 参数无效。错误代码: 9005
求解决,谢谢!
详细脚本:
Init:
#include "lrs.h"

vuser_init()
{

  char m[100];
  char n[50];
  char a[50];
   lr_load_dll("msado15.dll");
   lr_load_dll("SQLConnector.dll");//调用数据库操作DLL

  memcpy(m, lr_eval_string("<NewParam>"),strlen(lr_eval_string("<NewParam>")));
  memcpy(n, lr_eval_string("<NewParam_1>"),strlen(lr_eval_string("<NewParam_1>")));
   strcat(m,n);
      

  memcpy(a, lr_eval_string("<NewParam_2>"),strlen(lr_eval_string("<NewParam_2>")));
   strcat(m,a);
//从两个数据库中分别提取数据然后组合成一个字符串
  
    lr_save_string(m,"inputstr");//将m的值保存到参数inputstr
    lr_output_message("inputstr=%s",lr_eval_string("<inputstr>"));

    lrs_startup(257);
    return 0;
}

Action:
include "lrs.h"

Action()
{
       char cmd_str[100];
       char outputmsg[100];
struct {
    char f1c[100];
       int  f1i;
    long  f1l;

    char f2c[100];
       int  f2i;
    long   f2l;
    char f3c[100];
       int  f3i;
    long   f3l;
   
    }insertfiled;

        lrs_save_param_ex("socket0","user",lr_eval_string("<inputstr>"), 0, strlen(lr_eval_string("<inputstr>")),NULL, "NewParam1");
    //将要发送到server端的数据从init部分传递过来并保存到参数NewParam1
      lrs_create_socket("socket0","TCP","RemoteHost=10.120.33.5:3343",LrsLastArg);

   lr_rendezvous("sendmessage");

lr_start_transaction("sendmessage");
   lrs_send("socket0","buf0",LrsLastArg);//发送
   lrs_receive("socket0","buf1",LrsLastArg);//接收

lr_end_transaction("sendmessage", LR_AUTO);

//接收服务器返回消息
      lrs_save_param("socket0",NULL,"Param_Return",0,2);
        
   lr_output_message("Param_Return=%s",lr_eval_string("<Param_Return>"));
//读取buf1中接收到的数据
   lrs_save_param("socket0","buf1","Param_Buffer",0,30);
   lr_output_message("Param_Buffer=%s",lr_eval_string("<Param_Buffer>"));

memset(outputmsg,0,sizeof(outputmsg));
memcpy(outputmsg,lr_eval_string("<Param_Return>"),strlen(lr_eval_string("<Param_Return>")));
memset(cmd_str,0,sizeof(cmd_str));
strcpy(cmd_str,"insert into test3 values(");//将服务器端返回的数据插入到数据库

sprintf(insertfiled.f1c,"%s",lr_eval_string("<Param_Buffer>"));
sprintf(insertfiled.f2c,"%s","Getdate()");
sprintf(insertfiled.f3c,"%s",lr_eval_string("<Param_Return>"));
strcat(cmd_str,"'");
strcat(cmd_str,insertfiled.f1c);
strcat(cmd_str,"',");
strcat(cmd_str,insertfiled.f2c);
strcat(cmd_str,",'");
strcat(cmd_str,insertfiled.f3c);
strcat(cmd_str,"')");
Insert(cmd_str);

if(strncmp(insertfiled.f3c,"00",2)!=0) //如果返回码不等于00,输出错误提示
  {lr_error_message(outputmsg);}
lr_think_time(1);
    return 0;
}

End:
include "lrs.h"

vuser_end()
{
    lrs_cleanup();
    return 0;
}

Date.WS
;WSRData 2 1
send buf0 30
"<NewParam1>"
recv buf1 30

-1
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-10-26 15:57:30 | 只看该作者
报错地方:
lrs_save_param("socket0",NULL,"Param_Return",0,2);
lr_output_message("Param_Return=%s",lr_eval_string("<Param_Return>"));
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-10-26 16:50:27 | 只看该作者
没有人?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2010-10-26 22:08:06 | 只看该作者
    估计要详细的脚本才能看出来了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-10-27 10:08:03 | 只看该作者
    详细脚本已附上,请高手解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-10-27 13:47:35 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2010-10-27 15:18:08 | 只看该作者
    没有人呐,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2010-10-27 17:07:25 | 只看该作者
    求高手解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2010-10-28 08:41:50 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2010-10-28 17:01:10 | 只看该作者
    没有人给点意见么,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2010-11-1 09:04:07 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2010-11-1 10:25:16 | 只看该作者
    好多自己写的代码,都不懂哎。支持一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2010-11-1 10:56:13 | 只看该作者
    回复 12# sincool

    呵呵,郁闷了,场景一加上持续时间就报这个错误,但是数据依然插入到数据库中了,很是困惑..
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-11-1 12:36:55 | 只看该作者
    lrs_save_param("socket0",NULL,"Param_Return",0,2);
    你把这句改成这样试试
    lrs_save_param("socket0",LRS_LAST_RECEIVED,"Param_Return",0,2);
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-11-1 14:40:43 | 只看该作者
    sockets。。。。看不懂。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-11-1 17:09:07 | 只看该作者
    {:4_83:}
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2010-11-1 17:15:15 | 只看该作者
    问题已解决,一个很低级的错误,我忘了写这句:lrs_close_socket("socket0");
    惭愧~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-17 00:03 , Processed in 0.085049 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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