首页 > Windows开发 > 详细

loadrunner中实现windows socket协议进行压力测试

时间:2014-02-09 15:55:44      阅读:434      评论:0      收藏:0      [点我收藏+]

loadrunner中的windows socket协议如果通过录制方式还是比较简单的,可以在data.ws中参数化一些值就可以了。但有些接口类的内容是没有办法进行录制的,只能通过手写函数实现。下面大概的说一下过程

 

vuser_init  部分:建立一个socket连接,要写到init里,这样在压力过程就相当于只建立一次。

 

#include "lrs.h"
vuser_init()
{
lrs_create_socket("socket1","TCP","RemoteHost=111.111.111.218:12000",LrsLastArg);

}

 

action 部分:send是发送信息的函数,同时也具有取值的功能,这要看data.ws中的tcp/ip令命是什么。 //是调试时留下的一些代码,无具体用处

 

#include "lrs.h"

Action()
{


//char *ActualBuffer;
//int NumberOfBytes;

 

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

lrs_send("socket1", "buf1", LrsLastArg);

 

//lrs_set_receive_option(Mismatch, MISMATCH_CONTENT); 
//lrs_set_recv_timeout(0,0);
//lrs_set_recv_timeout2(0,0);

//lrs_receive("socket1", "buf2", LrsLastArg);

//lrs_get_last_received_buffer("socket1", &ActualBuffer, &NumberOfBytes);

//lrs_save_param_ex("socket1", "user", ActualBuffer, 25,5, "ascii", "new_parameter");

//lrs_free_buffer(ActualBuffer);

//lr_output_message("%s", lr_eval_string("<new_parameter>"));

 

}

 

 

vuser_end 部分:关闭socket连接,要放到end里,这样在压力过程就相当于所有压力完成后关闭,而不是循环一次关一次

 

#include "lrs.h"
vuser_end()
{
lrs_close_socket("socket1");
}

 

 

data.ws 部分 send是对应action中的send请求。set queue的意思是:向queue这个key里面写入51211这个值/  get queue的意思是取了刚写入到queue这个key里面的值。

 

;WSRData 2 1

 

 

send  buf0 40
  "set queue 0 0 5\r\n"
  "51211\r\n"


send  buf1 8
  "get queue\r\n"

 

   

-1

loadrunner中实现windows socket协议进行压力测试

原文:http://www.cnblogs.com/lisa2014/p/3540924.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!