51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3614|回复: 6
打印 上一主题 下一主题

[求助] 急求:使用winsocket编写脚本时,如何在data.ws 中使用变量或参数??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-5-22 17:05:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求是这样的:
在action中发送一堆数据,之后会接收到服务器返回的数据,我想要把返回数据的一部分存起来,在下次发送数据时,存起来的那部分数据做为新数据的一部分再发送给服务器。
弄了一个下午都没解决。
跪等。。。。。。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-4-2 12:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2013-5-22 22:06:16 | 只看该作者
    我没有用过winsocket,但是看你的需求就有点“关联”的概念吧,应该winsocket里也能做关联吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2013-5-23 09:25:25 | 只看该作者
    回复 2# omg


       我不能成功录制脚本,是手工写的代码,这样有办法用关联吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-4-2 12:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2013-5-23 12:04:07 | 只看该作者
    应该可以是winsock手动建立关联的,在user guide里面到看到有一篇讲这个。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2013-5-23 14:08:28 | 只看该作者
    回复 1# 地铁和人海

    使用lrs_set_send_buffer试试,自定义buf可以,希望有用

                lr_start_transaction("socket_test");
            lrs_send("socket1","buf0", LrsLastArg);
            lrs_receive("socket1","buf1",LrsLastArg);
            lrs_get_last_received_buffer("socket1", &ActualBuffer, &NumberOfBytes);
    //        lr_output_message("*********获取msg1返回结果***********==:%x",ActualBuffer);
        lr_save_var(ActualBuffer+0,3,0,"key1");
            lr_save_var(ActualBuffer+0,3,0,"key1");
            if ((strstr(lr_eval_string("<key1>"),"hey"))) {
                    lr_end_transaction("socket_test",LR_PASS);
            }else{
                    lr_end_transaction("socket_test",LR_FAIL);
            }

           
            lr_start_transaction("test1");

            lrs_set_send_buffer("socket1",ActualBuffer,9);//actualBuffer为真实发送内容,可以从上次的返回中获得
            lrs_send("socket1","buf2",LrsLastArg);//发送

            lrs_free_buffer(ActualBuffer);//释放内存
            lrs_receive_ex("socket1","buf20",LrsLastArg);//"NumberOfBytesToRecv=4",
        lrs_get_last_received_buffer("socket1",&BufVal, &intGetLen);
            lr_save_var(BufVal+0,3,0,"key1");
            if ((strstr(lr_eval_string("<key1>"),"hey"))) {
                    lr_end_transaction("test1",LR_PASS);
            }else{
                    lr_end_transaction("test1",LR_FAIL);
            }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2013-6-3 18:23:47 | 只看该作者
    哥们,我是录制了不能回放,一回放就报错10053
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2013-6-4 09:59:49 | 只看该作者
    八成你没关联导致的
    之前我也做过winsocket测试,但是加密的,实在没办法(可以把加密过程用dll调用,大师教的)
    我实在没办法,因为时间太赶,所以让开发弄成不加密的,就可以看到dw里面是一个xml格式的报文,直接参数化就搞定了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-12 04:16 , Processed in 0.070304 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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