三:loadRunner 之关联与检查点,集合点
今天我们来探讨一下LoadRunner中关于增强脚本中的 另外的几个功能点。以下的言论只是个人在学习过程中,理解出来的。属于个人的浅观点。与大家一块探讨一下。关联与检查点,集合点。1>关联是什么,我们为什么要使用关联?
客户端在与服务端通信的过程中,许多应用程序都使用动态值,每次使用时这些值都会出现变化。例如,有些服务器会为每个新会话分配一个唯一的会话(session)ID(相当于一张动物园门票,每次进入都需要购买新的票据) ,回放录制的脚本时,应用程序创建的新的会话id与录制的会话id不同,这样脚本就会运行失败。loadrunner通过关联解决了这种问题,关联将动态值(在本例中为会话id)保存到参数中,运行模拟场景时,vuser并不使用录制的值,而是使用服务器分配的新会话id。
关联函数
web_reg_save_param("参数名称,起的有意义就可以,例:Session",“左边界LB=”,“右边界RB=”,LAST)
关联的设置的方式:
1.自动关联:首选
Vuser下的(ctrl f8快捷键),找出需要进行关联的参数,新建一个关联。
2.手动关联:自动关联不起作用时
录制两个一模一样的脚本,使用Tools 中的 compare with scpice选择 另一个一模一样的脚本进行比较(比对的结果不一样的数据可以在树视图
Tree中找到,也可以在回放的log中找到,设置log输出服务器的值)。插入一个新的事务,将函数的名称输入设置名称和左右的边界。
3.边录制边关联:一劳永逸(一般都这样操作)
Tools(Ctrls+FN+F7) http 下的 Correlation 将 enable ...(录制时启用关联)勾选住,选择 new application(新建一个应用程序)起一个名字,然后点击new Rule(新建一个规则)进行左右边界的设置(一般 左边界设置为userSession value=,右边界设置为:>.)
2>什么是检查点,我们为什么要设置检查点?
为了证明我们使用虚拟用户进行操作时,操作是否成功,我们需要设置检查点。保证用户的操作时正确的。
函数为(web_reg_find())
设置检查点的方式:
1:在录制的时候,选中想要检查的文本信息,选择工具栏中的含有望远镜的按钮
2:在vugen工具中的树视图中选择想要添加的文本,进行操作
3:选择工具栏中插入的的操作,选择操作
(将检查点的文本放到,将要检查的函数的前面,是为了检查下一步的URl请求中是否含有检查点中的文本)
3>集合点
(只能向action部分添加集合点,而不是在init和end 的部分)
什么是集合点?为什么要设置集合点?
虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但由于计算机的串行处理机制,脚本的运行随着时间的推移,并不能完全达到同步。这时候需要手工的方式让用户在同一时间点上进行操作来测试系统并发处理的能力,而集合点函数就能实现这个功能。
使用lr的生成的20虚拟用户,来并发登录测试网站,但是并发的意思是指同时来访问被测网站,而不是整个登录的过程都是同时进行的,也就是说仅仅体现在开始执行的一瞬间,随着时间的推移和系统环境的限制,20个用户的操作就不同带到试这20个用户同时点击登录按钮这一过程的话,我们就会用到集合点这个功能。将模拟的虚拟用户集合到一起,然后进行并发登录,一般会将集合点设置在,事务(登录)开始的前面。然后在场景中设置,怎样触发设置的集合点(怎样的方式进行触发集合点)插入集合点是为了衡量在加重负载的情况下,在计划中,可能会要求系统能够承受100人同时提交数据,在lr中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,lr就会检查同时有多少用户运行到集合点,如果不到100人,lr就会命令已经到集合点的用户在此等待,当集合点等待的用户达到1000人时,lr就会命令100人同时去提交数据,从而达到计划中的需求。
我们为了提高录制脚本的健壮性,一般都会从这几个方面来进行脚本的增强:
事务,思考时间,集合点,参数化设置,检查点。
参数化设置:模拟真实,使用不同的数据达到业务的多样化
关联:与服务器奖励联系。将未来的数据拿到现在。
检查点:验证是否通过
事务:是为了记录一个完整的操作流程
思考时间:跟真实的模拟用户的操作习惯。
在这我只是将自己的理解写了出来,当然每个设置中还会分很多个功能,这些功能才是我们应该深入理解的地方,我会慢慢的掌握这些,后期将自己的理解和大家一块来分享讨论。也希望大牛们 给一些建议。
我书写的时候会有啰嗦,希望大家能够理解。(添加图片的操作 用的不是很熟练,以后会图文相加的)
页:
[1]