在这里积累学习中的点点滴滴!

使用Socket协议测试的一个小结

上一篇 / 下一篇  2009-02-02 13:05:49 / 个人分类:LoadRunner

在完成过程中碰到了很多的问题,初步整理如下:

o#R8H*y[0

 

6EI8O*GI"ZE0

1、程序之间的通信使用的是非标准WinSocket协议,无法直接录制脚本,因此采用直接采用在LR中编写脚本的方法,由于自身对socket协议的不熟悉所以花费了较多的时间。

X*P/O&NbQ Xw0

 

FHL,R Bk8p p g k4K'Z0

2、编写好的脚本在使用时直接发送协议中的字符串到这客户端,客户端程序无法识别,因此在模拟服务器(使用WinSocket协议)的基础上采用了录制脚本的方法,但是录制的脚本在参数化后在LR中发送的缓冲区数据包含如“\0”之类的内存值,无法发送缓冲区数据,使用lrs_length_send 函数同样不可提示9015错误,采用字符串拼接的方法亦不通,此处花费的时间也是较多的,在此对于LR 的lr_eval_string函数,使用的比较多也因此熟悉的C语言函数与LR函数参数转换的方法。51Testing软件测试网v4c"j8om k b!P

 

Z+k Xr5U/PD1o3aTU0

3、使用DLL编写消息格式转换函数,按照输入参数返回各个不同消息的最终格式,因缓冲区的内存值委托问题同样未果。51Testing软件测试网&j| g _!^t:OBx

 51Testing软件测试网9~IT*D6bK6T3G7KP0tEZR

4、最后使用的自己的消息发送函数可成功发送消息,在DLL直接调用C语言的SOCKET函数发送转换好的数据,且数据转换后的格式正确,唯一不足的是以客户端的角度去发送消息到客户端(原为服务端到客户端),而客户端接收服务端的消息使用的是与客户端不同的消息回调函数,因此不可识别LR以客户端发送服务端到客户端的消息,现需要协调客户端与脚本之间的消息识别。

'_S[n)D%A)G)`0

 

3h;f9na0N1i|%e0

收获总结:

})raL:ckHs9w0
  • LR中调用DLL
  • DLL的编写格式
  • C语言中socket收发消息的基本了解
  • LR中直接编写脚本的初步尝试

TAG: LoadRunner

引用 删除 cxjin   /   2010-04-28 11:09:46
 

评分:0

我来说两句

Open Toolbar