qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          LoadRunner驅動MySQL性能測試

          因為loadrunner原生未提供針對mysql測試的功能

            國內網絡上流傳的都是ODBC連接mysql進行性能測試,過程較為繁瑣

            而LR本身推薦的是使用提供的dll庫或者自行編寫dll庫進行測試。

            只要能在網上找到支持自編寫dll庫的license即可

            本文方法參考的主要是Bish.co.uk論壇,有mysql,php和loadrunner板塊,

            使用它們編寫的mysql鏈接庫

            ---–待測試庫環境準備--------

            GRANT ALL PRIVILEGES ON *.* TO'root'@'windowsIP'

            IDENTIFIED BY'root'WITHGRANTOPTION;

            配置好測試數據庫和表

            -----–LoadRunner運行庫準備-------

            a.解壓MySQL LoadRunner libraries.zip版本1 版本2 中的文件至LR安裝目錄

            b.在LR的vuser腳本的init中加入實例信息

          #include "Ptt_Mysql.h"
          #define MYSQLSERVER "192.168.2.5"
          #define MYSQLUSERNAME "root"
          #define MYSQLPASSWORD "root"
          #define MYSQLDB "tpch_1"
          #define MYSQLPORT "5029"

            c.在action腳本中 每個sql語句前加入

            lr_load_dll("libmysql.dll");

            -------–vu腳本編寫方法,c語言--------–

          //action中加入
          char chQuery[128];
          MYSQL *Mconn;
          //將sql語句保存在 char中
          lr_load_dll("libmysql.dll");
          //每個sql前加入讀取dll庫
          Mconn = lr_mysql_connect(MYSQLSERVER, MYSQLUSERNAME,
          MYSQLPASSWORD, MYSQLDB,
          atoi(MYSQLPORT));
          //從init的define中讀取連接參數
          sprintf(chQuery, "select N_NATIONKEY,N_NAME,N_REGIONKEY from
          nation limit 3;");
          lr_mysql_query(Mconn, chQuery);
          //在輸出中打印語句,調用dll中的lr_mysql_query方法執行語句
          lr_save_string(row[0][0].cell, "sN_NATIONKEY");
          lr_save_string(row[1][0].cell, "sN_NAME");
          lr_save_string(row[2][0].cell, "sN_REGIONKEY");
          //結果集要保存到多維數組中也可以直接忽略輸出
          lr_output_message(lr_eval_string("N_NATIONKEY: {sN_NATIONKEY};
          N_NAME: {sN_NAME}; N_REGIONKEY Description:{sN_REGIONKEY}"));
          lr_save_string(row[0][1].cell, "sN_NATIONKEY");
          lr_save_string(row[1][1].cell, "sN_NAME");
          lr_save_string(row[2][1].cell, "sJobDesc");
          lr_output_message(lr_eval_string("N_NATIONKEY: {sN_NATIONKEY};
          N_NAME: {sN_NAME}; N_REGIONKEY Description:{
          //vu_end中加入
          lr_mysql_disconnect(Mconn);
          //斷開連接
          自己錄制腳本例子
          #include "Ptt_Mysql.h"
          #define MYSQLSERVER "192.168.20.67"
          #define MYSQLUSERNAME "root"
          #define MYSQLPASSWORD "111111"
          #define MYSQLDB    "mysql"
          #define MYSQLPORT "3306"
          MYSQL *Mconn;
          vuser_init(){
          lr_load_dll("libmysql.dll");
          Mconn=lr_mysql_connect(MYSQLSERVER,MYSQLUSERNAME,MYSQLPASSWORD,MYSQLDB,atoi(MYSQLPORT));
          return 0;
          }
          Action()
          {
          char chQuery[128];
          //sprintf(chQuery,"SELECT `HOST`, `USER`, `PASSWORD` FROM user1;");
          lr_mysql_query(Mconn,chQuery);
          lr_save_string(row[0][0].cell,"HOST");
          lr_save_string(row[1][0].cell,"USER");
          lr_save_string(row[2][0].cell,"PASSWORD");
          lr_output_message(lr_eval_string("HOST: {HOST}; USER: {USER};PASSWORD:{PASSWORD}"));
          }
          vuser_end()
          {
          lr_mysql_disconnect(Mconn);
          return 0;
          }

          版權聲明:本文出自 juiwo 的51Testing軟件測試博客: http://www.51testing.com/?37338

          原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。

          posted on 2013-09-06 11:18 順其自然EVO 閱讀(2159) 評論(0)  編輯  收藏 所屬分類: loadrunner

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 泸定县| 阳谷县| 开江县| 松桃| 松阳县| 东山县| 和龙市| 菏泽市| 大冶市| 南皮县| 南康市| 遵义市| 福海县| 贵港市| 湟中县| 前郭尔| 康平县| 许昌县| 中山市| 大姚县| 蒲江县| 江津市| 会东县| 晋宁县| 沈丘县| 阜阳市| 东乌珠穆沁旗| 西昌市| 吉水县| 拜城县| 旬邑县| 始兴县| 普陀区| 台北市| 漯河市| 久治县| 调兵山市| 三穗县| 门源| 图们市| 商水县|