暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【松勤软件性能测试】性能测试工具操作数据库-Loadrunner与Mysql

松勤软件学院 2018-01-12
358

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

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

2vuser_init文件添加代码: copy

  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), NULL0))  

  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文件添加代码 copy

  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文件添加代码: copy

  1. vuser_end()  

  2. {  

  3.     lr_mysql_disconnect(Mconn); //关闭数据库连接  

  4.     return 0;  

  5. }  

教育领先品牌
打造中国互联网
专注IT在线教育
以工匠精神
愿景
松勤软件

松勤网:www.songqinnet.com

微信公众号:松勤软件学院

软件测试交流QQ群:64207188

软件自动化测试QQ群:398140461

软件性能测试交流QQ群:348074292

文章转载自松勤软件学院,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论