loadrunner可以利用mysql lib库,通过引用外部DLL,模拟mysql客户端连接数据库进行增删改查的操作进行测试。下面主要介绍如何利用mysql lib库连接mysql数据库进行性能测试。
一、准备工作
1. 下载 MySQL LoadRunner libraries。
2. MySQL LoadRunner libraries 里面有两个文件夹:bin 以及 include。
将 bin 文件夹里的文件拷贝到 LoadRunner 安装路径下的 bin 文件夹下。
将 include 文件夹里的文件全部拷贝到 LoadRunner 安装路径下的 include 文件夹下。
二、脚本编写
1. vuser_init文件代码
//引入mysql lib的h文件
#include "Ptt_Mysql.h"
MYSQL *Mconn;
vuser_init()
{
#define MYSQLSERVER "xx.xx.xx.xx"//mysql的ip
#define MYSQLUSERNAME "root"//用户名
#define MYSQLPASSWORD "xxxxxx"//密码
#define MYSQLDB "test"//数据库
#define MYSQLPORT "3306"//端口
//引入libmysql的dll
lr_load_dll("libmysql.dll");
//连接mysql
Mconn = lr_mysql_connect(MYSQLSERVER, MYSQLUSERNAME, MYSQLPASSWORD, MYSQLDB, atoi(MYSQLPORT));
return 0;
}
2. Action文件代码
Action()
{
char chQuery[128];
int result;
//把字符存到chQuery[]中
sprintf(chQuery, "INSERT INTO people (username,password) VALUES('user11','111111')");
//执行sql
result = lr_mysql_query(Mconn, chQuery);
if(result == 0){
lr_output_message("insert 成功");
}
else{
lr_error_message("insert 失败");
}
return 0;
}
3. vuser_end文件代码
vuser_end()
{
//关闭数据库连接
lr_mysql_disconnect(Mconn);
return 0;
}
三、做性能测试免不了需要造数(包括测试需要的铺底数据,已经测试用的业务数据),这里推荐一个mysql的存储过程。
CREATE DEFINER = CURRENT_USER PROCEDURE 'NewProc'()
BEGIN
#Routine body goes here...
DECLARE i,j INTEGER;
set i = 1;
set j = 10000001;
while i <= 10001 DO
INSERT INTO 'test'.'t_data_detail' ('ID','DATE','NO','TYPE','REMARK') VALUES (j,'20200526',i,'01',NULL);
set i = i+1;
set j = j+1;
END while;
END;