51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10410|回复: 7
打印 上一主题 下一主题

[原创] 探讨socket协议中关联函数lrs_save_param的用法!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-24 00:09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前在作性能测试时,我很少用到socket协议(经验不足),基本上用的都是http协议,
所以只知道关联函数web_reg_save_param,而且在网上讲解关联,也基本上都是关于这个
函数的用法。
    今天在作一个另外一个项目,用的是socket协议,必须设置关联,当时我就纳闷啦,这怎么设置啊?在网上搜了一遍,没有查到关于这方面的资料。最后拿出杀手锏,找Zee大哥求助,
是他告诉我,lrs_save_param这个函数可以设置关联。看了帮助文档,里面根本就没有讲清楚
这个函数怎么用,以及函数放置的位置在哪里,里面都没有讲清楚。或许是自己的英文太差了!!呵呵!!
    在此,我希望哪位知道的这个函数用法的朋友能给我讲讲!!还有,我想问一下,用socket协议录制的脚本,录制的都是发送和接收的报文,设置关联是不是只要关联发送的报文??接收的报文是不是不要管?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-24 08:36:07 | 只看该作者
肯定是从接收的报文中关联数据了。
和web_reg_save_param有一点不同的是,web_reg_save_param是放在前面的,而
lrs_save_param是放在lrs_receive后面的。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-10-24 09:25:48 | 只看该作者
楼上 正解,请注意函数名中有reg的一般放请求的前面,没有的放后面!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-10-29 23:59:58 | 只看该作者
想问一下,这个函数的偏移量怎么去判断?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-11-6 23:59:28 | 只看该作者
应该是从服务器里搜寻吧。
这个没遇到过,一直在用HTTP格式的。

不过今天又学了一个,lr_save_param还可以做关联的。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-11-7 14:18:47 | 只看该作者
socket 协议中用到三个关联函数:
/* lrs_save_param 将静态或接收到的缓冲区保存到参数中*/
lrs_save_param (char *s_desc, char *buf_desc, char *param_name, int offset, int param_len);

/* lrs_save_param_ex 将用户、静态或接收到的缓冲区保存到参数中*/
lrs_save_param (char *s_desc, char *type, char *buff, int offset, int length, char *encoding, char *param);

/* lrs_save_searched_string 将静态或接收到的缓冲区中搜索出现的字符串,将出现字符串的缓冲区部分保存到参数中*/
lrs_save_param (char *s_desc, char *buf_desc, char *param_name, int offset, int param_len);
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-11-6 12:00:52 | 只看该作者

用winsock协议录制了C/S 应用程序的脚本后,如何修改脚本?

下面是录制的脚本,请问是否一定要先做关联,设置RUN-TIME才可以运行的呢?
#include "lrs.h"

vuser_init()
{
    lrs_startup(257);
        return 0;
}

Action()
{
    lr_think_time(11);

    lrs_create_socket("socket0", "TCP", "RemoteHost=USER-EB13A2B2F1:5150",  LrsLastArg);

    lrs_send("socket0", "buf0", LrsLastArg);

    lrs_receive("socket0", "buf1", LrsLastArg);

    lrs_send("socket0", "buf2", LrsLastArg);

    lrs_receive("socket0", "buf3", LrsLastArg);

    lrs_send("socket0", "buf4", LrsLastArg);

    lr_think_time(52);

    lrs_send("socket0", "buf5", LrsLastArg);

    lrs_receive("socket0", "buf6", LrsLastArg);

    lrs_send("socket0", "buf7", LrsLastArg);

    lrs_disable_socket("socket0", DISABLE_SEND_RECV);

    lrs_close_socket("socket0");

    return 0;
}

我刚刚接触LOADRUNER ,请各位高手帮帮忙。谢谢!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-11-17 09:03:12 | 只看该作者
这个你要跟开发沟通,看你们那的返回值是不是有动态的值!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 03:23 , Processed in 0.063441 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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