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. C++之类模板

    C++之类模板 代码如下:  C++ Code  123456789101112131415161718192021222324252627282930313233343536373839404142 ...

  2. 当苹果因为UIDevice、udid、uniqueIdentifier而把我们的应用拒之门外invalid binary的时候,呕心沥血解决方法啊

    本文转载至 http://blog.csdn.net/macmini/article/details/16341669 当我们辛辛苦苦把应用或者游戏做好的时候,满怀激动地把应用提交上去给苹果大大,谁知 ...

  3. poj_2349 Kruskal 最小生成树

    题目大意 给定N个点的坐标,这N个点之间需要进行通讯.通讯方式可以采用卫星通信或无线通信,若两点之间采用为卫星通信,则两点之间的距离无限制,若采用无线通讯,则两点之间的距离不能大于某个值D.      ...

  4. 1853: [Scoi2010]幸运数字[容斥原理]

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 2405  Solved: 887[Submit][Status] ...

  5. 如何使用iOS 开发证书 和 Profile 文件

    如果你想在 iOS 设备(iPhone/iPad/iTouch)上调试, 需要有 iOS 开发证书和 Profile 文件. 在你拿到这两个文件之后,该如何使用呢? 证书使用说明: 1.  iOS 开 ...

  6. js 实现table表格拖拽和点击表头升降序排序

    js 实现table表格拖拽和点击表头升降序排序,写的比较乱,用的时候可以把其中的一些模块函数提取出来 样式,由于是可拖拽表格,所以样式 table tr th{cursor:move;} js实现 ...

  7. ipad4没有声音提示消息

    打开『设置』-『通用』-侧边开关用于: 1:锁定屏幕旋转 2:静音 √ 把对号去掉 选择1即可

  8. Code Forces 645A Amity Assessment

    A. Amity Assessment time limit per test2 seconds memory limit per test256 megabytes inputstandard in ...

  9. local unversioned, incoming add upon update问题

    当update的时候遇到如下问题 svn status D C ~/workspace/test/a.c > local unversioned, incoming add upon updat ...

  10. PHP函数addslashes和mysql_real_escape_string的区别

    转自:http://www.jb51.net/article/49205.htm   这篇文章主要介绍了PHP函数addslashes和mysql_real_escape_string的区别,以及一个 ...