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. SurvivalShooter学习笔记(九.游戏暂停、结束)

    这里先补充一个得分管理器: 玩家得分设置成一个静态变量: public class ScoreManager : MonoBehaviour { public static int score; // ...

  2. you *might* want to use the less safe log_bin_trust_function_creators variable

    报错:you *might* want to use the less safe log_bin_trust_function_creators variable 解决方法如下: 1. mysql&g ...

  3. System.getProperty()方法大全 (转载)

    System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号S ...

  4. 160329(一)、在web.xml文件里配置org.springframework.web.context.ContextLoaderListener

    Java代码 <!-- 指明spring配置文件在何处 --> <context-param> <param-name>contextConfigLocation& ...

  5. oracle导入TXT文件

    oracle导入TXT文件: 1.建好对应的表和字段:2.新建test.ctl文件,用记事本编辑写入: OPTIONS (skip) load data INFILE 'E:\8080.txt' -- ...

  6. 深入学习AngularJS中数据的双向绑定机制

    来自:http://www.jb51.net/article/80454.htm Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持 ...

  7. 论OI中无穷大(INF)的取值

    水 为什么我的Floyd会输出负数啊? 为什么我的代码写对了却全都爆零了啊? 那么很可能是你的INF取大/小了! 那么inf到底应该取什么值呢? 首先,inf应该要比一般的题目中出现的数据要大,但是又 ...

  8. HDU_5532_Almost Sorted Array

    Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  9. 剑指Offer——把字符串转换成整数

    题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0   输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果 ...

  10. C++的全部目标就是最优化资源的利用,以人付出更多为代价。Python刚好是另一个极端(Bjarne就说,一个人至少应该掌握两种计算机语言)

    说 C++ 反人类,是如果把 C++ 看作人(程序员)和资源(电子系统)的桥梁,他的全部目标就是最优化资源的利用,以人付出更多为代价.Python刚好是另一个极端.做好两个一起学.Bjarne就说,一 ...