LoadRunner参数化+数据库导入数据(二)

目录

参数化概述

参数化目的

参数化过程

参数化方式

 参数化方式

连接数据库

参数化操作步骤

参数化

数据源 

 连接数据库

数据分配与更新方式


继上篇:LoadRunner(一)

参数化概述

  • 录制飞机订票系统使用的用户、密码等数据都是相同的,与实际系统运行时的真实环境不一样。
  • LoadRunner提供了参数化的功能
  • 针对脚本中的某些常量,定义一个或者多个包含数据源的参数,达到模拟多用户真实使用环境的目的。

需求描述:模拟出10个用户时,如果不参数化,会导致10个用户都是用的同一个用户名+密码,这显然是有问题的。

解决方式:将变化的数据参数化。(在数据库中创建,登录)

参数化目的

使用参数化目的:

  • 模拟更真实的用户使用环境
  • 有些被测应用系统不允许同一个账号多次登入

参数化过程

  • 确定需要参数化的常量
  • 准备参数化数据
  • 对脚本进行参数化

参数化方式

 参数化方式

  • 参数化得方式有很多种,以下是几种常见方式。其实方式略有不同,但其结果都是将数据添加进来
  • 1、编辑数据
  • 2、增加dat数据文件
  • 3、数据库增加数据
  • 4、其他类型数据设置

连接数据库

  • 一般常用连接的数据库:SQL Server、Oracle、mysql

参数化操作步骤

参数化

选中要参数化的部分(此处是将前面Name对应的Value值参数化),右击,选中replace with a Parameter

 更改参数名字

更改参数类型(一般用File文件类型)

原名称

 参数化后的格式为{变量名}

数据源 

数据来源(点击Open Parameter List图标) 

 手动编写数据源(此处添加的数据都要是有效数据,不然会导致登录不成功)

 在打开的文件中输入数据,一行就是一条,第一行是变量名

 添加好的数据如下图所示(编写好的参数化数据源文件,是可以保存到当前项目的文件夹中的):

 如果已经有历史编辑好的参数化数据源文件,可以直接点击Browse...打开文件夹选择

 连接数据库

 1、需要安装数据库驱动:MySQL ODBC 3.51.24-X86

安装直接下一步到安装完成

 2、新建连接

点击Data Wizard...

点击确定(这个操作将覆盖文件)

选中SQL选项后,点击下一步

这里面先不用填写,直接点击创建Create..

 选择 机器数据源,点击 新建

选择 系统数据源

用户数据源:会限制可以使用的用户(只有当前用户可以用)

系统数据源:所有用户都可用

 选择对应的数据源(此处是MySQL ODBC 3.51 Driver)——点击 下一步——在弹出的页面点击 完成

完成后会弹出对话框——按下面两张图提示填写具体内容——填完后点击 Test (测试是否能连接上)——成功连接后点击 Ok

创建成功后会回到之前的页面,可以在下图圈出来的位置看到刚刚创建的数据源,点击 确定

 

在框中写入需要的语句——点击 Finsh。数据会展示在页面

 取其他变量数据也和上述方法一致。

数据分配与更新方式

脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按如何取?

Select next row 【选择下一行】

  • 顺序(Sequential):按照参数化的数据顺序,一个一个的来取
  • 随机(Random):参数化中的数据,每次随机的从中抽取数据
  • 唯一(Unique):为每个虚拟用户分配一条唯一的数据

Update value on 【更新时的值】:

  • 每次迭代(Each iteration):每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。
  • 每次出现(Each occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。
  • 只取一次(once):参数化中的数据,一条数据只能被抽取一次。 (如果数据轮次完,脚本还在运行将会报错)

上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。

像例子中的账号密码的匹配设置,应该如下:

账号:(唯一,只取一次)

密码:(和账号同一行)

可以用以下代码验证是否成功:

Sql 语句创建测试数据

DELIMITER ;;
CREATE PROCEDURE test()
BEGIN 
DECLARE Y INT DEFAULT 1;
WHILE Y<5004
DO
INSERT INTO tb_member(NAME,PASSWORD,reallyName,age,profession,email,question,result) 
VALUES(CONCAT('tester',Y),CONCAT('test',Y),'linda',20,'hello','hello','hello','hello');
SET Y=Y+1; 
END WHILE:4
COMMIT;
END;

 loadrunner 打印函数(放到vuser _init中开头):

//打印函数:
	char * ip;//验证IP欺骗用
	int id,scid;//定义保存 vuser 信息的 2个整形变量
	char * group;//定义保存 groupname
	char * filename="c:\\work.log";//手动创建存储log 文件
	long file_stream;
	ip =lr_get_vuser_ip();//获取当前用户IP
	if((file_stream = fopen(filename,"a+")) == NULL)//打开文件
	{
		lr_error_message("Cannot open %s",filename);
		return -1;
	}
	lr_whoami(&id,&group,&scid);//获取变量
	lr_save_datetime("%H:%M:%S",DATE_NOW+TIME_NOW,"times");//获取当前时间,判断用户登录时间

(放到vuser_init中结尾):

    if (id >0)//用户数>0
	{
		fprintf(file_stream,"vuser 用户的信息:time=%s,id=%d,group=%s,scid=%d,uname=%s,password=%s ,ip=%s\n",lr_eval_string("{times}"),id,group,scid,lr_eval_string("{uname}"),lr_eval_string("{pwd}"),ip);
	}
	fclose(file_stream);//关闭文件

点击保存——创建测试场景:(就可以在文件夹中看到生成的日志了)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
LoadRunner是一款功能强大的自动化性能测试工具,可用于进行数据库测试。数据库测试是对数据库系统进行负载和压力测试,以评估其性能和稳定性。 首先,LoadRunner通过模拟并发用户访问数据库,可以测试数据库的性能和响应时间。我们可以创建不同的脚本来模拟真实的用户行为,例如插入、更新、删除和查询数据等,从而模拟真实的负载情况。 其次,LoadRunner可以测量数据库服务器的吞吐量和并发连接数。通过逐渐增加并发用户的数量,我们可以确定数据库在不同负载情况下的表现。同时,LoadRunner还可以衡量数据库服务器的响应时间,以评估其性能是否满足需求。 此外,LoadRunner还提供了丰富的监控和分析功能,可以监视数据库服务器的关键性能指标,如CPU利用率、内存使用情况和磁盘IO等。这些指标可以帮助我们找出性能瓶颈,并优化数据库系统的配置。 最后,LoadRunner可以生成详细的测试报告,包括数据库的性能指标、错误率以及响应时间等。这些报告可以用于评估数据库的性能,并为优化数据库系统提供指导。 总之,LoadRunner是一个非常强大的工具,可以用于进行数据库测试。通过模拟真实的用户行为,衡量数据库的性能指标,并提供丰富的监控和分析功能,LoadRunner可以帮助我们评估数据库系统的性能和稳定性,并提供优化建议。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值