1、库文件下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunner_libraries.zip

分别库文件和代码添加到Loadrunner bin目录和include目录下

2、vuser_init文件添加代码:

 
  1. #include "Ptt_Mysql.h"
  2. #include "mysql.h"
  3. #include "mysql_com.h"
  4. #include "mysql_time.h"
  5. #include "mysql_version.h"
  6. #include "typelib.h"
  7. #include "my_list.h"
  8. #include "my_alloc.h"
  9. #define MYSQLSERVER "172.16.1.220"
  10. #define MYSQLUSERNAME "dbuser"
  11. #define MYSQLPASSWORD "1qaz@wsx"
  12. #define MYSQLDB "sroa_lyt"
  13. #define MYSQLPORT "3309"
  14. char chQuery[1024];
  15. int statu=1;
  16. int status=0;
  17. MYSQL *Mconn;
  18. char sql_query[256], sql_sub_query[50];
  19. int i=0, res=0, conn_fail=0, conn_iter=0;
  20. char response[50];// to go
  21. vuser_init()
  22. {
  23. lr_load_dll ("libmysql.dll");
  24. lr_start_transaction("mysql_conn"); //设置一个连接数据库的事务
  25. /*------------------------------------------------------------------------*/
  26. /* Initialise MySQL */
  27. if(!(Mconn = mysql_init(NULL)))
  28. {
  29. lr_message("Error -1: Cannot initialize MySQL - %s", mysql_error(Mconn));
  30. //return -1;
  31. statu = 0;
  32. lr_end_transaction("mysql_conn", LR_FAIL); //初始化数据库失败判定事务失败
  33. }
  34. /*------------------------------------------------------------------------*/
  35. do
  36. {
  37. /* Connect to database */
  38. if (!mysql_real_connect(Mconn, MYSQLSERVER, MYSQLUSERNAME, MYSQLPASSWORD, MYSQLDB, atoi(MYSQLPORT), NULL, 0))
  39. {
  40. conn_fail = -2;
  41. conn_iter++;
  42. sleep(100);
  43. }
  44. else
  45. conn_fail = 0;
  46. }
  47. while(conn_fail < 0 && conn_iter < 10);
  48. if (conn_fail < 0)
  49. {
  50. lr_message("Error -2: %s", mysql_error(Mconn));
  51. //mysql_close(Mconn);
  52. //return -2;
  53. statu = 0;
  54. lr_end_transaction("mysql_conn", LR_FAIL); //连接数据库失败判定事务失败
  55. }
  56. else
  57. {
  58. //lr_message("MySql - Good Connection");
  59. //mysql_close(Mconn);
  60. statu = 1;
  61. lr_end_transaction("mysql_conn", LR_PASS); //连接数据库成功,事务通过。
  62. }
  63. return 0;
  64. }

3、Action文件添加代码

 
  1. Action()
  2. {
  3. if(statu){ //成功连接数据库后才进行执行sql的操作
  4. lr_start_transaction("mysql_select");
  5. sprintf(chQuery, "SELECT id, lb, title, nr, attachment_id, attachment_name, pic_name, fbsj, fbbm, fbr, vcount FROM sroa_lyt.oa_news;");//查询论坛用户
  6. //sprintf(chQuery,"UPDATE lr_test SET password = "%s" WHERE username='tom'",lr_eval_string ("{pwd}"));
  7. /*
  8. sprintf(chQuery,"update pre_ucenter_members set username='dd' where username='qq' ");//更改用户名qq为dd
  9. sprintf(chQuery,"delete from pre_ucenter_members ORDER BY uid desc LIMIT 1");//删除最后添加的一条数据
  10. */
  11. status = lr_mysql_query(Mconn, chQuery);
  12. if(status!=0){ //判断sql是否执行成功
  13. lr_end_transaction("mysql_select",LR_FAIL);
  14. }else{
  15. lr_end_transaction("mysql_select",LR_PASS);
  16. }
  17. lr_start_transaction("mysql_insert");
  18. sprintf(chQuery,"insert into oa_news(id, lb, title, nr, attachment_id, attachment_name, pic_name, fbsj, fbbm, fbr, vcount) values(9,9,'qq@qq.com','test','','','teste','',6,'test',0)");//插入数据
  19. status = lr_mysql_query(Mconn, chQuery);
  20. if(status!=0){ //判断sql是否执行成功
  21. lr_end_transaction("mysql_insert",LR_FAIL);
  22. }else{
  23. lr_end_transaction("mysql_insert",LR_PASS);
  24. }
  25. }
  26. return 0;
  27. }

4、vuser_end文件添加代码:

    1. vuser_end()
    2. {
    3. lr_mysql_disconnect(Mconn); //关闭数据库连接
    4. return 0;
    5. }

性能测试Loadrunner与Mysql的更多相关文章

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

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

  2. LoadRunner参数化MySQL

    准备:安装[msql-ODBC驱动] 一.配置数据源 1.Win7,打开控制面板-系统和安全-管理工具,点击“数据源(ODBC)”. 打开数据源(ODBC),在用户DSN选项卡中点击“添加”按钮,弹出 ...

  3. 老李分享:Eclipse中开发性能测试loadrunner脚本

    老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunne ...

  4. [性能测试] LoadRunner结果分析 – TPS(转)

    [性能测试] LoadRunner结果分析 – TPS 针对吞吐率和 TPS 的关系,这个在结果分析中如何使用,就个人经验和朋友讨论后,提出如下建议指导,欢迎同僚指正. 相关定义 响应时间 = 网络响 ...

  5. 转 14 jmeter性能测试实战--数据库MySQL

    14 jmeter性能测试实战--数据库MySQL   需求 测试用户表(对用户表select操作) 测试步骤 1.MySQL驱动下载并安装. 2.测试计划面板点击"浏览"按钮,将 ...

  6. lib库实现loadrunner驱动mysql性能测试

    一.添加mysql驱动链接文件到loadrunner的bin和include目录下  以下链接为本人云盘分享,也可百度自行寻找下载源. http://yunpan.cn/cfTxbANSvipGi  ...

  7. 【性能测试】:loadrunner直压MYSQL数据库的脚本开发

    有时性能测试,会涉及到直接压测数据库,测试数据库处理sql的水平,或者通过sql脚本向数据库写数据做铺地数据 这里贴上一个自己用的对数据库操作的脚本 一,首先要去下载一个LR压MYSQL的一个库文件, ...

  8. Jememeter和Loadrunner测试MySQL性能

    From:http://blog.csdn.net/testingstar/article/details/60579454 MySQL数据库性能测试的方法 前置条件: 安装系统:windows 7 ...

  9. LoadRunner访问Mysql数据库

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

随机推荐

  1. 剑指 offer set 18 数组中只出现一次的数字

    题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字 思路 1. 思路是先将数组分成两个部分, 两个单个数字分别分到两部分中, 并且数组中其他数字都成 ...

  2. Javascript通过bind()掌控this

    Javascript通过bind()掌控this: http://blog.csdn.net/rznice/article/details/26134201 bind能为我们做些什么,同时它的好处在哪 ...

  3. 在Mac osx使用ADT Bundle踩过的坑

    前言 本篇博客整理一下笔者在Mac下使用ADT Bundle踩过的坑,Google现在也不支持Eclipse了,开发者也到了抛弃Eclipse的时候,但考虑到大部分Java的开发者还是比较习惯与Ecl ...

  4. aiohttp笔记

    目录 简介 采集模板 一批,一次性采集 动态添加任务 动态添加任务,封装成类 简介 aiohttp需要python3.5.3以及更高的版本,它不但能做客户端爬虫,也能做服务器端,利用asyncio,协 ...

  5. JsBridge的异步不执行的处理--promise异步变同步

    Hybird App:H5内嵌APP,前端用vue,APP之间的交互处理,适配安卓ios, 为了降低开发成本,减少前端适配工作量,三端统一使用  WebViewJavascriptBridge 在进行 ...

  6. 170321、Spring+Quartz实现定时任务的配置方法

    Quartz是Java版开源定时调度器. 核心概念: Job 表示一个工作,要执行的具体内容.此接口中只有一个方法 void execute(JobExecutionContext context): ...

  7. 领悟 JavaScript 中的面向对象

    JavaScript是基于对象的语言,我们可以使用面向对象的思想去开发js代码. JavaScript是基于对象的语言. 可以使用面向对象的思想,但是不少人对这一点理解得并不全面. 在 JavaScr ...

  8. 遍历Map集合四中方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  9. 20165330 学习基础和C语言基础调查

    学习基础和C语言基础调查 读做中学有感 读了老师的推送,通过邹欣老师的博客中对老师和学生的关系比作教练和学员的阐述,这里重点为我们阐述了「做中学(Learning By Doing)」的重要性. 套路 ...

  10. ACME[free https] Linux中使用curl命令访问https站点4种常见错误和解决方法

    free https certification generator https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 每一种客户 ...