<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

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

    LoadRunner訪問 Mysql數據庫

     這是很久以前編寫的一個測試案例,那時是為了檢查大量往Mysql數據庫里插入數據,看一下數據庫的性能如何?服務器是否會很快就被寫滿了。
      前期的準備工作:Mysql 數據庫搭建,LoadRunner,libmysql.dll and 網上搜一份LoadRunner訪問mysq的公共庫。
      Step1:Mysql數據庫搭建(這里就不詳細講述如何安裝Mysq數據庫和創建表了)
      IP:192.168.1.100
      訪問名:root
      密碼是:123456
      數據庫名是:t3db
      訪問端口是:3306
      數據庫的相關信息就是這樣了!
      Step2:LoadRunner如何連接mysql呢?
      以下全都是在網上找到原代碼
    int rc;
    int db_connection;
    char *server = "192.168.1.100";   // 數據庫的ip地址
    char *user = "root";              // 數據庫訪問用戶名
    char *password = "123456";        // 密碼
    char *database = "t3db";          // 數據庫名稱
    int port = 3306;                  // 訪問端口
    int unix_socket = NULL;
    int flags = 0;
    char** result_row;
    int query_result;
    char szSql[256];
    int MySqlInit()
    {
    rc = lr_load_dll("libmysql.dll");
    db_connection = mysql_init(NULL);
    if (db_connection == NULL)
    {
    lr_error_message("Insufficient memory");
    lr_abort();
    }
    if(rc!=0)
    {
    lr_error_message("Load MySql.dll Error!");
    lr_abort();
    }
    rc = mysql_real_connect(db_connection,server, user, password, database, port, unix_socket, flags);
    if(rc == NULL)
    {
    lr_error_message("connect mysql error! %s",mysql_error(db_connection));
    mysql_close(db_connection);
    lr_abort();
    }
    return rc;
    }
    int MySqlUnit()
    {
    // 釋放MySQL資源
    mysql_close(db_connection);
    return 0;
    }
    int InsertValue(char* query)
    {
    rc = mysql_query(db_connection,query);
    if (rc != 0)
    {
    lr_error_message("%s", mysql_error(db_connection));
    }
    query = NULL;
    return rc;
    }
    int MySqlQuery(char* szSql)
    {
    rc = mysql_query(db_connection,szSql);
    if(rc != 0)
    {
    lr_error_message("%s",lr_eval_string("?"));
    lr_error_message("%s", mysql_error(db_connection));
    szSql = NULL;
    return -1;
    }
    query_result = mysql_use_result(db_connection);
    if (query_result == NULL)
    {
    lr_error_message("%s", mysql_error(db_connection));
    mysql_free_result(query_result);
    szSql = NULL;
    return -2;
    }
    result_row = (char **)mysql_fetch_row(query_result);
    if (result_row == NULL)
    {
    lr_error_message("Did not expect the result set to be empty");
    mysql_free_result(query_result);
    szSql = NULL;
    return -3;
    }
    mysql_free_result(query_result);
    szSql = NULL;
    return 0;
    }
     這里提供了幾個公共函數,看名字大家都明白他們是干啥的。
      Step3:Loadrunner里需要怎么編寫寫呢?
      1、添加libmysql.dll到你的工程
      2、把公共庫添加到你的公共
      3、vuser_init
    vuser_init()
    {
    index = 0;
    MySqlInit();  // 初始化數據庫
    return 0;
    }
      4、vuser_end
    vuser_end()
    {
    MySqlUnit();  // 反初始化
    return 0;
    }
      5、Action
    Action()
    {
    int resultValue;
    char cIndex[10];
    char onceAccount[1024];
    char insertQuery[22584];
    index = index +1;
    // 組合插入數據庫的sql語句
    strcpy(insertQuery, "INSERT INTO `t3db`.`role`(GroupID, RoleName, Account, BaseInfo, ExtInfo, LastModify) VALUES('1', '");
    strcat(insertQuery, lr_eval_string("{Account}"));
    strcat(insertQuery, itoa(index, cIndex, 10 ));
    strcat(insertQuery, "', 'q1031', '111', '111','2013-02-28 20:42:33')");
    strcat(insertQuery, ";\0");
    lr_start_transaction("Insert");
    resultValue = InsertValue(insertQuery);  // 調用插入函數
    if(resultValue != 0)
    {
    lr_end_transaction("Insert",LR_FAIL);
    }
    else
    {
    lr_end_transaction("Insert",LR_PASS);
    }
    sleep(100);
    return 0;
    }

    posted on 2014-05-14 10:11 順其自然EVO 閱讀(605) 評論(0)  編輯  收藏 所屬分類: loadrunner

    <2014年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成AV人片在WWW| 国产亚洲一区二区在线观看| 亚洲伊人久久大香线蕉在观| 青柠影视在线观看免费| 亚洲人成无码网站| 久久这里只精品国产免费10| 久久青草亚洲AV无码麻豆| 国产一区二区免费视频| 亚洲午夜无码AV毛片久久| 国产高清对白在线观看免费91| 日韩精品亚洲专区在线观看| 污视频网站在线免费看| 亚洲午夜av影院| 特级做A爰片毛片免费看无码 | 日韩在线一区二区三区免费视频 | 成人无码区免费A∨直播| 亚洲人成网77777亚洲色 | 一级毛片大全免费播放| 亚洲中文字幕无码一区二区三区| 成人爽a毛片免费| 91亚洲va在线天线va天堂va国产 | 亚洲综合中文字幕无线码| 免费无码黄动漫在线观看| 国产亚洲精品精品精品| 久久综合亚洲色HEZYO国产| 久久这里只精品国产免费10| va天堂va亚洲va影视中文字幕| 国产国产人免费人成免费视频| 三年片在线观看免费观看大全中国| 中文字幕亚洲综合久久菠萝蜜| 久久国产乱子伦精品免费强| 亚洲精品中文字幕无码AV| 在线精品免费视频| 国产免费播放一区二区| 亚洲高清无在码在线无弹窗| 女人18一级毛片免费观看| 亚洲天堂免费在线视频| 亚洲精品日韩中文字幕久久久| 永久免费看bbb| 国内精品一级毛片免费看| 最新亚洲春色Av无码专区|