zoukankan      html  css  js  c++  java
  • 性能测试Loadrunner与Mysql

    1、库文件下载地址:https://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;  

    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.   
    18.         lr_start_transaction("mysql_insert");  
    19.         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)");//插入数据  
    20.         status = lr_mysql_query(Mconn, chQuery);  
    21.         if(status!=0){ //判断sql是否执行成功  
    22.             lr_end_transaction("mysql_insert",LR_FAIL);  
    23.         }else{  
    24.             lr_end_transaction("mysql_insert",LR_PASS);  
    25.         }  
    26.     }   
    27.     return 0;  
    28. }  

    4、vuser_end文件添加代码: 

      1. vuser_end()  
      2. {  
      3.     lr_mysql_disconnect(Mconn); //关闭数据库连接  
      4.     return 0;  
  • 相关阅读:
    HTML
    Java 1.8 新特性
    Java 反射
    子网与超网
    Java 网络编程
    Java 单例模式、枚举
    Java 线程生命周期、线程池
    Java 多线程
    Java Properties、流对象关闭格式
    基础练习 十六进制转八进制
  • 原文地址:https://www.cnblogs.com/wx170119/p/8682102.html
Copyright © 2011-2022 走看看