51Testing软件测试论坛

标题: 如何手工编写winsock脚本 [打印本页]

作者: Zee    时间: 2006-10-25 09:59
标题: 如何手工编写winsock脚本

对winsock脚本来说,手写脚本不是首选。为了理解如何建立脚本和Buffers,你需要知道服务器发送出来的协议

的细节。
为了自动产生脚本,需要录制一个客户端的应用。
如果你对服务器使用的协议非常的了解,那么也许你可以建立一个Data.ws文件和连贯的actions。但是这个过程

一定是单调而乏味的。你要有一些winsock脚本方面的经验。
为了看一个winsock脚本的例子,先试着录制一个简单的WEB应用(比如一个访问某站点首页的动作)。它会生成一

个简单的winsock脚本和buffer内容的格式。
为了建立LoadRunner的winsock脚本,录制一个客户端应用更可取。这样可以让LoadRunner从windows socket通

信中看到客户端和服务器的底层通信。LoadRunner使用wsock32.dll库录制socket通信,这个库包括windows

socket的API。
为了手写LoadRunner的winsock脚本,需要非常熟悉使用的协议。录制一个简单的浏览器的操作可以看到低于HTT

P协议通信的脚本。



下面是一个简单的例子:

[Action section]
   lrs_startup(257);
   lrs_create_socket("socket3", "TCP", "RemoteHost=slashdot.org:80", LrsLastArg);
   lrs_send("socket3", "buf4", LrsLastArg);
   lrs_receive("socket3", "buf5", LrsLastArg);

[data.ws section]
send buf4
      "GET / HTTP/1.1\r\n"
      "Host: slashdot.org\r\n"
      "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Geck"
      "o/20011128 Netscape6/6.2.1\r\n"
      "Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9,"
      " image/png, image/jpeg, image/gif;q=0.2, text/plain;q=0.8, text/css, */*;q"
      "=0.1\r\n"
      "Accept-Language: en-us\r\n"
      "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n"
      "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n"
      "Keep-Alive: 300\r\n"
      "Connection: keep-alive\r\n"
      "Cache-Control: max-age=0\r\n"
      "\r\n"

recv buf5 16716
      "HTTP/1.1 200 OK\r\n"
      "Date: Thu, 17 Jan 2002 15:27:13 GMT\r\n"
      "Server: Apache/1.3.20 (Unix) mod_perl/1.25 mod_gzip/1.3.19.1a\r\n"
      "SLASH_LOG_DATA: shtml\r\n"
      "X-Powered-By: Slash 2.003000\r\n"
      "X-Bender: The laws of science be a harsh mistress.\r\n"
      "Connection: close\r\n"
      "Transfer-Encoding: chunked\r\n"
      "Content-Type: text/html\r\n"



为了建立这样的脚本,你要知道客户端和服务端通信的时候发送的buffer的格式。这种格式最好适用于指定协议

的任何应用。
作者: winmeeasy    时间: 2006-10-25 10:45
不错,如果再给个支持SocketAPI的1W license就更好了:)
作者: Zee    时间: 2006-10-25 13:02
偶发的帖子总是很少人看。唉。
作者: deadhunter    时间: 2007-10-21 14:58
你的帖子比较经典
我学习到很多东西
作者: syang0517    时间: 2007-10-22 09:15
经典
作者: 1qazse4    时间: 2007-10-22 10:44
是啊,多谢Zee了,支持,学习!~!
作者: candyren    时间: 2007-10-23 11:49
多谢了!支持!
作者: RuisTar    时间: 2007-10-23 11:55
支持Zee~
作者: yanming_huo    时间: 2008-12-25 11:19
非常需要
作者: coco1127    时间: 2009-3-31 16:27
这是经典的应用!!
作者: witcher2002    时间: 2009-7-3 10:33
疯狂学习winsock中。。。
作者: 270779028    时间: 2012-8-30 09:09
支持一下希望有更好的东西给大家分享
作者: luohen1984    时间: 2012-9-19 07:48
努力学习中
作者: luohen1984    时间: 2012-9-19 07:48
努力学习中




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2