Loadrunner动态从mysql取值

来源:互联网 发布:手机原装收音机软件 编辑:程序博客网 时间:2024/05/22 02:22
loadrunner动态从mysql取值 [需要下载跟数据库服务器一致的dll,32位或64位] loadrunner中有参数化从数据库中取值,但是只是静态的,对于一些要实时取值的数据就game over了,比如取短信验证码,因为MySQL中有一个libmysql.dll,里面提供了可以操作数据库的方法,所以我们可以调用这个dll连接数据库实时从数据库中取值Action(){    int status;                           //定义状态变量,0表示成功,非0表示失败      int db_connection;                  //定义初始化状态         int result;                   //定义查询结果状态                    char *server = "*****";         // 数据库的ip地址      char *user = "test";                // 用户名      char *password = "123456";                // 密码      char *database = "*****";          // 数据库名称      int port = 3306;                    // 端口      int socket = NULL;                   int flags = 0;            char** result_set;                 //定义查询的结果集    //数据库操作         status=lr_load_dll("E:\\VuGen Scripts\\libmysql.dll");           if (status!=0) {                                   lr_error_message("不能加载dll文件");          lr_error_message("%s",mysql_error(db_connection));//打印加载失败错误信息          mysql_close(db_connection);          lr_abort();                     }      db_connection=mysql_init(NULL); //初始化mysql连接      if (db_connection==NULL ) {     //如果链接状态为空就退出          lr_abort();      }      status=mysql_real_connect(db_connection,server,user,password,database,port,socket,flags);//连接到mysql数据库  //打印连接不成功的原因      if (status==NULL) {           lr_error_message("%s",mysql_error(db_connection));        mysql_close(db_connection);        lr_abort();    }  //调用dll方法执行查询语句    status=mysql_query(db_connection,"select vcode from cb_vcode_list where telphone=180******** and is_deleted=0");  //打印查询失败的原因    if (status!=0) {                                                lr_error_message("%s",mysql_error(db_connection));        mysql_close(db_connection);        lr_abort();    }    result=mysql_use_result(db_connection);//查询数据表   while (result_set=(char**)mysql_fetch_row(result)) {       lr_save_string(result_set[0],"vcode");       //将获取的数据保存为参数vcode       lr_output_message("vcode is %s",lr_eval_string("{vcode}")); //打印数据        if ( result_set==NULL) {           //如果查询结果行为空 ,就关闭并退出           lr_error_message("没有查询到结果");            mysql_free_result(result);            mysql_close(db_connection);            lr_abort();        }    }   mysql_free_result(result);  //释放结果集   mysql_close(db_connection);      //关闭数据库连接      return 0;}

原创粉丝点击