LoadRunner使用记录

使用LoadRunner搞了三个星期的测试,现记录一下

LoadRunner主界面


图1 LR主界面

在使用LoadRunner测试的时候两个流程①编写LR脚本,脚本尽量先录制,然后再进行一些修改,如果不能录制的话,那么只能自己动手写了。②运行脚本进行测试。如上图所示。

1.脚本编写

点击图1中的“①”处,进入如下页面,然后点击“File->New..”,新建一个脚本


选择自己要使用的协议,我们使用的是“Window Sockets”协议,下面所有的阐述也都是基于这种协议的。


选择协议后,进入到脚本主页面


在脚本的主页面,我们能看到左侧的四个文件,vuser_init主要用于定义一些变量、某些连接的初始化等;Action是我们业务处理代码的编写的主要阵地;vuser_end是一些收尾工作,关闭连接释放资源等等;data.ws存放一些缓存区的大小,这个文件也是必备的,不是可有可无的呦。缓存区的大小一定要和接受到的消息大小做相对应的修改。


开始编写脚本,在编辑器中输入“lr_”,”lrs_”,IDE会给我们lr函数的一些提示,我们根据函数的名字基本上就知道函数的功能了。


编写一个HelloWorld吧。这个简单的HelloWorld例子可以用来进行一些简单的测试,比如截取字符串、字符串拼接等等,因为脚本大了毕竟不太方便。


2.运行脚本进行测试

选择要测试脚本然后添加到右边的蓝色框中,点击OK


双击“Initialize“然后弹出一个框,我们选择同时启动


双击”Start Vusers“,填入启动的用户数,我们启动100个用户


双击”Duration“,填写测试程序进行多长时间,通常我们直接就直接加1,意思就是运行1天,这样省事


然后直接切换到”Run“Tab,然后点击”Start Scenario“就可以测试了,然后就可以分析各种图表了,具体的就不分析了。


3.简单总结一些这3个星期中遇到的几个印象比较深刻的问题吧。

(1)data.ws中设置消息缓存区的大小



213bit时间戳字段

想要在LR中获取13bit时间戳时,有问题,最后只能通过一个字符串的拼接来实现的。

int curtime ;

time(&curtime);

aa=lr_eval_string("<NewParam_1>");

if (strlen(aa)>1) {strncpy(dest,aa+20,3);}

        sprintf(utc,"%ld",curtime);

memcpy(utc+10,dest,3); 

lr_output_message("cur

不能直接获取13bit时间戳的原因:在32bit Win机器上,C中的intlong都是4个字节。

3LR专用函数错误认知

lrs_set_send_timeout(1240,0);  //为发送套接字数据设置超时,Sets a timeout for sending data on a socketvoid lrs_set_send_timeout ( long sec, long u_sec );

lrs_set_recv_timeout2(1024,0);  

两个函数的作用如下:

lrs_set_recv_timeout:执行lrs_receive命令后,等待服务器返回消息的超时时间,即:服务器的响应时间。

lrs_set_recv_timeout2:创建连接成功,接收到服务器返回的消息后,获取匹配消息的超时时间。lrs_receive接收到数据后,会和预期的数据长度进行比较,如果长度不匹配,它将重新从套接字上读取数据,直到超时为止。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值