LoadRunner——联机测试(八)

{联机测试}

又名:分布式测试,多机联合测试

含义:使用多台pc测试机联合产生更大的并发用户数去模拟访问同一个脚本

原理:借助Load Generator负载生成器及Agent代理程序在其他主机上模拟更多用户数,解决单台测试机无法模拟大量用户的问题

设置:主控机

负责具体业务实际操作,在场景中加载脚本,设置用户数,与测试机建立连接,将脚本中localhost或127.0.0.1改为主控机的IP地址

负载机,

负责产生更多用户数,需要安装Load Generator或者LR工具,并启动Agent。

主控机与负载机要能连通,即在同一网段中:使用ping命令测试

事项:

1)多台测试机要在同一个网段下,网络物理连接;

2)负载机安装Load Generator、启动Agent进程;

3)添加负载机并检查Load Generator的连接是否成功

4)主控机选择脚本、分配合理的VU数,选择负载机

image.png
加载脚本到控制台(设置多个脚本组,分配用户):

组名          脚本路径       VU数据   Load Generators

buy1.2       day06\buy1     10        localhost

buy1.2_1    day06\buy1     10        负载机的IP

使用控制台中Load Generators窗口进行添加、检查连接:

控制台 -> Scenario菜单 -> Load Generators

Add: 添加负载机

Connect: 对每个测试机点击Connect按钮检查连接情况

结果为Ready  表示成功

为Failed   表示失败

{文本检查点}

属于增强脚本的技术

A)在录制时添加:

B)在录制后添加:

在Vugen组件中-》Tree试图-》找到请求-》HTML View-》选中文本-》

Add a text check(web_reg_find)

{关联技术}

【介绍】

英文:Correlation,

关联函数:

web_reg_save_param(“参数名”,

“LB=左边界字符串”,    // Left 左边界

“RB=右边界字符串”,    // Right 右边界

LAST);

类似于参数化,但又不同:关联的数据是服务器生成的动态数据

本质:查找数据,需要指定左边界和右边界

【原理】

将脚本中的静态数据使用参数替换,分别接收服务器所发送的、动态的、每次都可能不一样的数据,从而保证回放的数据也跟着变化。

【场合】

脚本中出现了动态数据,导致业务的不一致,录制时成功,回放时失败,此时需要做关联。

产生问题的原因:录制时生成的脚本,记录了sessionid,是一个动态数据;而服务器端每次访问时会产生一个动态数据,录制的脚本无法适应服务器端的变化,导致出错。

脚本如何调试:将静态数据 改为 动态数据(关联技术)

【思路】

1)先找到脚本中的动态数据(需要关联、替换的)

2)根据动态数据来查找响应的请求

3)在请求函数之前编写关联函数

4)将动态数据使用该关联函数中的参数代替

【如何找到动态数据】

找到是进行关联的前提、关键

动态数据是每次录制、回放都可能变动的值,

方式:

录制两个业务流程一样的脚本,使用WDiff工具进行比对找出不一样的数据。

白色区域表示数据为相同,黄色区域表示数据为不同,

动态数据就在黄色区域中,一般是一串无规律的字符串,而坐标值,思考时间,检查点函数文本以及整个请求则不是。

【如何编写关联函数】

位置:在对应的请求之前写

格式:web_reg_save_param(“参数名”,”左边界值”,”右边界值”,LAST);

参 数 名:见名知意

左边界值:动态数据左边的字符(包含空格在内)

右边界值:动态数据右边的字符(包含空格在内)

图形化操作:在请求函数之前插入

image.pngimage.png

【关联类型】

1)自动关联(很少用,不稳定)

2)手动关联(常用,灵活)

【手动关联步骤】

1)录制2份相同业务的脚本,进行比对来找出动态数据,并将动态数据以及左右2边的数据复制一份到脚本中注释起来,关联函数要用到。

Tools-》compare with Script

2)在Generation Log中找到第一次出现该动态数据的相应请求;

步骤:

1)只复制动态数据从第一行开始找:Ctrl+F,

2)找到第一次出现该动态数据的响应id号

3)向下翻找,找到与当前响应id相同id的请求,就是相应请求

请求:Request或者Events,

一般都是web函数,且在当前动态数据的下方不远处

如果找不到,就向上找最靠近的请求(这种情况不多见)

找到请求后,根据请求的快照名,来定位出脚本中的请求。

3)在相应请求之前写关联函数,将动态数据自动赋值给某变量(参数);

web_reg_save_param( , , ,LAST);

4)将脚本中的静态数据替换为该参数

5)回放脚本,成功,  关联完成

【练习1】

准备:打开WebTours首页,点击administration连接:

-> 选择第三项:

Set LOGIN form’s action tag to an error page.

-> 点击Update按钮

目的:模拟向服务器发送请求的userSession的ID值为动态数据

导致回放脚本时报错,从而需要关联。

业务:录制一个用户登录-退出,

录制时成功的,但回放是失败的。

【关联的目的】

让脚本能够适应动态数据的变化,实际项目中是否需要关联取决于服务器端软件设计、开发方式。

【练习2】将上一个练习的复选框取消,点击Update按钮

业务:购票,对出发城市和到达城市做参数化,需要关联

出发城市:2个

到达城市:2个

城市不同,航班信息肯定也不不同,其航班信息就是动态数据

【自动关联】

介绍:是VuGen组件提供的自动扫描关联的处理策略,它的原理是对同一个脚本运行和录制时的服务器返回进行比较,来自动查找变化的部分,并且提示是否生成关联

步骤:

A>录制脚本

B>打开菜单Vuser->Scan Script for Correlations,扫描需要关联的地方

C>扫描后,需要关联的地方会出现在Correlation Results下面,然后选中,点击右边的Correlate进行关联

注意:并不是每次都能扫描的到,所以自动关联不稳定,建议还是使用手动关联。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值