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. 全新的membership框架Asp.net Identity——绕不过的Claims

    http://www.cnblogs.com/JustRun1983/p/4708176.html?utm_source=tuicool&utm_medium=referral

  2. VC中的学习点滴

    1.  __stdcall 和 __cdecl __cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,由调用者负责 ...

  3. C#中动态调用DLL动态链接库

    其中要使用两个未公开的Win32 API函数来存取控制台窗口,这就需要使用动态调用的方法,动态调用中使用的Windows API函数主要有三个,即:Loadlibrary,GetProcAddress ...

  4. 编程之美 set 7 求数组中的最长递增子序列

    解法 1. 假设在目标数组 array[] 的前 i 个元素中, 最长递增子序列的长度为 LIS[i] 那么状态转移方程为 LIS[i] = max(1, LIS[k]+1) array[i+1] & ...

  5. 剑指 offer set 13 把数组排成最小的数

    总结 1. 给定 3, 32, 321 将他们组合成最小的数, 比如 321323 2. 3    ->   333 32   ->   322 321 ->   321 然后再排序

  6. JSP内置对象——response

    response对象response对象包含了响应客户端的有关信息,但在JSP中很少使用它.它是HttpServletResponse类的实例.response对象具有页面作用域,即访问一个页面时,该 ...

  7. IOS 十位数0补齐

    NSCalendar *calendar = [NSCalendar currentCalendar]; unsigned unitFlags = NSYearCalendarUnit | NSMon ...

  8. 用Dialog 做自定义动画,加播放监听

    final Dialog customDialog = new Dialog(this); customDialog.setTitle(R.string.attention); customDialo ...

  9. 数据集划分——train set, validate set and test set

    先扯点闲篇儿,直取干货者,可以点击这里. 我曾误打误撞的搞过一年多的量化交易,期间尝试过做价格和涨跌的预测,当时全凭一腔热血,拿到行情数据就迫不及待地开始测试各种算法. 最基本的算法是技术指标类型的, ...

  10. 160307、Java调用Oracle存储过程返回结果集

    一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)   AS BEGI ...