LoadRunner长连接性能测试脚本

 

最近写了个服务器程序,与客户端采用socket长连接,想用LoaderRunner做性能测试。以前没弄过,不知道该如何写,到googlebaidu上竟然查不到,不知道是太简单了呢,还是没有人这么做,郁闷。

那就自力更生吧,研究了一下lr,原来lr支持类c脚本(据说最新版支持类java脚本),那就简单了呗,顺手写一个,如下:

Action()

{

    lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.37.22:8900",  LrsLastArg);

    lr_start_transaction("CA");

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

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

    lr_end_transaction("CA", LR_PASS);

    //think time

    lr_think_time(0.3);

    while(1)

     {

         lr_start_transaction("CA");

         lrs_send("socket0", "buf2", LrsLastArg);

         lrs_receive("socket0", "buf3", LrsLastArg);

         lr_end_transaction("CA", LR_PASS);

         //think time

         lr_think_time(0.3);

    }

    return 0;

}

不要忘了在data.ws中填上数据。例如:

;WSRData 2 1

send  buf0 94

       "00000001100100000074{001=01}{002=20080731171525}{003=127.0.0.1}{007=001}{005=123456}{006=8888}"

recv  buf1 75

       "00000001100200000060{001=02}{002=2008081117040812850}{003= 19.37.37 .21}{007=0999}"

send  buf2 63

       "00000001103000000043{001=30}{002=20080731171525}{003=127.0.0.1}"

recv  buf3 75

       "00000001103100000055{001=31}{002=20080812162829}{003= 19.37.37 .21}{007=0000}"

-1

注意:buf后面的长度必须正确。

模拟运行测试一下脚本,运行通过。

最后使用该脚本定义测试场景,测试得到结果为TPS2000成功完成测试目标。

   

    顺便提一下,上面使用了一个while循环,实际测试时可以不做循环,在场景中设置迭代方式和次数等。

 

你可能感兴趣的:(socket,测试,脚本,Google,action,loadrunner)