LR学习总结四----winsocket

上一篇 / 下一篇  2012-02-01 14:55:17 / 个人分类:loadRunner

winsocket----适用于tcp协议

#include "lrs.h"


Action()
{
 char aa[10];
 int result=1;
 char str[20],serialNumber[125];
 //char str1[10],str2[10];
 int num=0,i=0;

 num = rand()%10000+1;----1到10000取随机值
    sprintf(str,"%010X", num);----格式化为16进制,不足10位时前面加0。补充:这里面还设计到一个溢出的问题,本来是想把12345678964转为十进制输出的,后面发现一直报错,原来是溢出了
 
 //strcpy(str1,"\0");
 //strcpy(str2,"\\x");

 for(i=0;i<5;i++){
        serialNumber[i*4+0] = '\\';
  serialNumber[i*4+1] = 'x';                   
        serialNumber[i*4+2] = str[i*2];
  serialNumber[i*4+3] = str[i*2+1];
 }
 serialNumber[20] = '\0';-----每两位前加“\x”,最后的时候需要再补加“\0”,否则最后一位会被更改为莫名其秒的值,C语言定义参数时需要初始化赋值

 lr_save_string(serialNumber,"param");----保存为LR的参数,在data.ws中可以直接调用。还有一些函数可以直接保存到buffer中,在这里不适用
 //lr_output_message("%s",lr_eval_string("<param>"));

 lr_start_transaction("working");
 lrs_create_socket("socket1","TCP","RemoteHost=192.168.0.80:1234",LrsLastArg);

 //lr_rendezvous("send_gps");
 //result = lrs_set_receive_option(Mismatch,MISMATCH_CONTENT);

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

    lrs_set_recv_timeout(60,0);

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

 lrs_save_param("socket1",NULL,"param1",0,1);

 lrs_close_socket("socket1");
 
 lr_end_transaction("working", LR_AUTO);

 strcpy(aa,"\\x00");

 result=strcmp(aa,lr_eval_string("<param1>"));

 if(result!=0){
  lr_error_message("未接收到数据,返回值为%s",lr_eval_string("<param1>"));-----调用参数需要用尖括号
 }

 lr_think_time(0.5);

    return 0;
}

 

data.ws

;WSRData 2 1

send buf0 256

 "\x24"
 "<param>"
 "\x07\x46\x59\x26\x09\x11\x30\x11\x54\x85\x00\x12\x11\x18\x00\x3E\x00\x00\x00\xFF\xFF\xFB\xFF\xFF\x00\x11\x20\xFF\x0F\xFF\xFF\x63\x18\xFF\x58\x28\x9F\x09"

recv buf1 1
 "\x00"

-1


TAG:

 

评分:0

我来说两句

日历

« 2024-04-06  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 15829
  • 日志数: 18
  • 建立时间: 2012-01-30
  • 更新时间: 2012-06-07

RSS订阅

Open Toolbar