这是很久以前编写的一个测试案例,那时是为了检查大量往Mysql数据库里插入数据,看一下数据库的性能如何?服务器是否会很快就被写满了。

前期的准备工作:Mysql 数据库搭建,LoadRunner,libmysql.dll and 网上搜一份LoadRunner访问mysq的公共库。

Step1:Mysql数据库搭建(这里就不详细讲述如何安装Mysq数据库和创建表了)

IP:192.168.1.100

访问名:root

密码是:123456

数据库名是:t3db

访问端口是:3306

数据库的相关信息就是这样了!

Step2:LoadRunner如何连接mysql呢?

以下全都是在网上找到原代码,非本人创作(忘记作者是谁了,抱歉!)

int rc;
int db_connection;
char *server = "192.168.1.100"; // 数据库的ip地址
char *user = "root"; // 数据库访问用户名
char *password = ""; // 密码
char *database = "t3db"; // 数据库名称
int port = ; // 访问端口
int unix_socket = NULL;
int flags = ;
char** result_row;
int query_result;
char szSql[]; int MySqlInit()
{
rc = lr_load_dll("libmysql.dll");
db_connection = mysql_init(NULL); if (db_connection == NULL)
{
lr_error_message("Insufficient memory");
lr_abort();
} if(rc!=)
{
lr_error_message("Load MySql.dll Error!");
lr_abort();
} rc = mysql_real_connect(db_connection,server, user, password, database, port, unix_socket, flags);
if(rc == NULL)
{
lr_error_message("connect mysql error! %s",mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
return rc;
} int MySqlUnit()
{
// 释放MySQL资源
mysql_close(db_connection);
return ;
} int InsertValue(char* query)
{
rc = mysql_query(db_connection,query);
if (rc != )
{
lr_error_message("%s", mysql_error(db_connection));
} query = NULL;
return rc;
} int MySqlQuery(char* szSql)
{
rc = mysql_query(db_connection,szSql); if(rc != )
{
lr_error_message("%s",lr_eval_string("?"));
lr_error_message("%s", mysql_error(db_connection));
szSql = NULL;
return -;
} query_result = mysql_use_result(db_connection);
if (query_result == NULL)
{
lr_error_message("%s", mysql_error(db_connection));
mysql_free_result(query_result);
szSql = NULL;
return -;
} result_row = (char **)mysql_fetch_row(query_result);
if (result_row == NULL)
{
lr_error_message("Did not expect the result set to be empty");
mysql_free_result(query_result);
szSql = NULL;
return -;
} mysql_free_result(query_result);
szSql = NULL;
return ;
}

这里提供了几个公共函数,看名字大家都明白他们是干啥的。

Step3:Loadrunner里需要怎么编写写呢?

1、添加libmysql.dll到你的工程

2、把公共库添加到你的公共

3、vuser_init

vuser_init()
{
index = ;
MySqlInit(); // 初始化数据库
return ;
}

4、vuser_end

vuser_end()
{
MySqlUnit(); // 反初始化
return ;
}

5、Action

Action()
{
int resultValue;
char cIndex[];
char onceAccount[];
char insertQuery[]; index = index +; // 组合插入数据库的sql语句
strcpy(insertQuery, "INSERT INTO `t3db`.`role`(GroupID, RoleName, Account, BaseInfo, ExtInfo, LastModify) VALUES('1', '");
strcat(insertQuery, lr_eval_string("{Account}"));
strcat(insertQuery, itoa(index, cIndex, ));
strcat(insertQuery, "', 'q1031', '111', '111','2013-02-28 20:42:33')");
strcat(insertQuery, ";\0"); lr_start_transaction("Insert");
resultValue = InsertValue(insertQuery); // 调用插入函数 if(resultValue != )
{
lr_end_transaction("Insert",LR_FAIL);
}
else
{
lr_end_transaction("Insert",LR_PASS);
} sleep();
return ;
}

整个过程就是如此了……

LoadRunner访问Mysql数据库的更多相关文章

  1. LoadRunner访问 Mysql数据库

    这是很久以前编写的一个测试案例,那时是为了检查大量往Mysql数据库里插入数据,看一下数据库的性能如何?服务器是否会很快就被写满了. 前期的准备工作:Mysql 数据库搭建,LoadRunner,li ...

  2. LoadRunner访问Mysql数据库(转)

    这是很久以前编写的一个测试案例,那时是为了检查大量往Mysql数据库里插入数据,看一下数据库的性能如何?服务器是否会很快就被写满了. 前期的准备工作:Mysql 数据库搭建,LoadRunner,li ...

  3. java文件来演示如何访问MySQL数据库

    java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...

  4. PHP访问MySql数据库介绍

    在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...

  5. C#连接、访问MySQL数据库

    一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...

  6. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  7. C#访问MySQL数据库(winform+EF)

    原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...

  8. 老李分享:loadrunner操作mysql数据库

    老李分享:loadrunner操作mysql数据库        在poptest测试开发工程师就业培训的课程中,针对一套商业系统进行性能测试,目标是mysql后台数据库的负载能力,在这里我把测试代码 ...

  9. Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...

随机推荐

  1. 【Java EE 学习 43】【SVN版本控制工具】【CVS版本控制工具】

    一.SVN SVN服务器下载地址:https://subversion.apache.org/ 1.什么是版本控制:版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程.是一种记录若 ...

  2. Vue#表单控件绑定

    使用v-model 在表单控件上实现数据双向绑定. 单选:https://jsfiddle.net/miloer/bs49p0fx/ <input type="checkbox&quo ...

  3. css样式思维导图

  4. android studio每次启动都要在fetching Android sdk compoment information停好久的解决方案

    1)进入刚安装的Android Studio目录下的bin目录.找到idea.properties文件,用文本编辑器打开.2)在idea.properties文件末尾添加一行: disable.and ...

  5. .net c# 服务器共享文件夹 windows远程登陆 代码

    一个刚刚开始学习编程的人,如果遇到问题无法解决可能会寻找别的解决方案,如果长此以往可能会放弃这门语言而学习其他的语言... 开源与分享的重要性 使用场景:将网站所有附件上传到指定服务器的共享目录下,首 ...

  6. mongodb用子文档做为查询条件的两种方法

    { "_id": ObjectId("52fc6617e97feebe05000000"), "age": 28, "level& ...

  7. 制作IOS企业版App网页扫描二维码下载安装

    有时候我们需要在XX网站的主页上去扫描二维码下载,那么ios开发中如何做到这一点呢. 我给大家解答一下,这也是在最近工作中用到的部分,在网上了解了一些. 下面给大家分解一下步骤: 1.Plist 和 ...

  8. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  9. odoo 人力资源工资计算拓展

    默认情况下 odoo工资条的计算只支持一下几种python变量: # payslip: object containing the payslips# employee: hr.employee ob ...

  10. poj2389-Bull Math(大整数乘法)

    一,题意: 大整数乘法模板题二,思路: 1,模拟乘法(注意"逢十进一") 2,倒序输出(注意首位0不输出) 三,步骤: 如:555 x 35 = 19425  5 5 5  5 5 ...