loadrunner动态从mysql取值 [需要下载跟数据库服务器一致的dll,32位或64位]

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; }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值