51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3376|回复: 8
打印 上一主题 下一主题

[原创] LR 实用贴,怎样手动编写Winsocket 脚本

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-12-13 15:25:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有时候,使用LR录制的winsocket脚本一长串,我根本不知道它在干什么,一个简简单单的登入请求竟然录制了上千个Event
在这种情况下,我希望自己手动编写 Winsocket 脚本,把我需要的请求发送出去,然后,等服务器回应就行了


举个简单的例子
一个网络电子词典,从客户端发送要翻译的单词,服务器端翻译并返回结果(这个例子是自己C++ 练手写的,不怎么灵光,要源代码的话,可以给我发消息)

模拟客户端的LR代码如下:

#include "lrs.h"

Action()
{
    char acTest[10];
    char acSend[10];
    char* pcTest3;
     
    //发送指定的数据包
    lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:5150",  LrsLastArg);
  
   
  
      memset(acTest,0,10);
      sprintf(acTest,"<dict>\r\n");
      lr_output_message("out value : %s",lr_eval_string(acTest));
     
      strcpy(acSend,lr_eval_string(acTest));
      lr_output_message("the Send Value is %s" ,acSend);   
      lrs_set_send_buffer("socket0",acSend,strlen(acSend));

      lrs_send("socket0", "buf0", LrsLastArg);
   
    //接受服务器信息,并将信息打印出来
   
      lrs_receive("socket0", "buf1", LrsLastArg);
      pcTest3=lrs_get_received_buffer ("socket0", 0, -1, NULL);
      lr_output_message(pcTest3);
     
     
      return 0;
}

1、我对发送的单词作了一个 Dict的参数化。
2、将这个参数化的单词取出后发送到服务器端。
3、在 data.ws 中添加如下 BUFF
send  buf0 8
"n \r\n"
recv  buf1 8
"  \n"
实际上发送的是 你取出的那个单词,但是,在data.ws 中依然需要注明这两个空的BUFF

这样就完成了手工编写winsocket 的脚本,简单实用。

如果,反应不错的话,我将继续贴深入篇。

[ 本帖最后由 guirongb 于 2006-12-13 15:36 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-12-13 15:31:38 | 只看该作者
谢谢楼主~~学习了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-12-13 16:52:19 | 只看该作者
楼主思路不错,我前段时间正在搞SOCKERT的脚本,楼主意思我明白了,但具体操作上好象还不太明白,能不能讲的具体点!支持
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-12-13 17:48:54 | 只看该作者
顶一个先
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-12-14 08:49:14 | 只看该作者
谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-12-15 00:32:23 | 只看该作者
顶帖。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-12-18 23:02:00 | 只看该作者

反映不错

up
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-12-19 09:39:12 | 只看该作者

!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-12-19 11:56:52 | 只看该作者
先谢谢,同时麻烦lz高手解释一下 lrs_get_last_received_buffer 和 lrs_get_received_buffer的区别,再谢。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 01:54 , Processed in 0.086873 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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