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 = ""; // 密码
char *database = "*****"; // 数据库名称
int port = ; // 端口
int socket = NULL;
int flags = ;
char** result_set; //定义查询的结果集 //数据库操作
status=lr_load_dll("E:\\VuGen Scripts\\libmysql.dll"); if (status!=) {
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!=) {
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[],"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 ;
}

loadrunner动态从mysql取值的更多相关文章

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

    loadrunner中有参数化从数据库中取值,但是只是静态的,对于一些要实时取值的数据就game over了,比如取短信验证码,因为MySQL中有一个libmysql.dll,里面提供了可以操作数据库 ...

  2. LoadRunner可以把关联取值当作检查点来使用

    在性能测试过程中,很多人都会想通过使用检查点来检查系统响应是否正常,LR的51Testing软件测试网E$S ]:x(d a6h.G \(y 检查点对“死”的,静态的 可以做到检查作业,但是对于动态时 ...

  3. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  4. Loadrunner 关于参数赋值取值的操作

    1.参数的赋值和取值 lr_save_string("hello world","param"); lr_eval_string("{param}&q ...

  5. Jquery为下拉列表动态赋值与取值,取索引

    接触前端也不久对jquery用的也只是皮毛,写过去感觉能复用的发出来,大家指点下 1.下拉列表动态赋值 function initddlYear() { var mydate = new Date() ...

  6. mysql中数据类型的取值范围

    mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^ ...

  7. LoadRunner脚本实例来验证参数化的取值

    LoadRunner脚本实例来验证参数化的取值 SINM {3]!G0问题提出:  主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d ...

  8. 【转】MySQL外键约束On Delete、On Update各取值的含义

    转载地址:http://hi.baidu.com/jxqlovejava/item/3d2cc5b5d689917c244b0920 ‍ 先看On Delete属性,可能取值如上图为:No Actio ...

  9. mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

    mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语 ...

随机推荐

  1. iBATIS的多对多 数据库设计及实现

    iBATIS的多对多映射配置方法和多对一映射配置方法差不多,不同的是,多对多映射,数据库设计上需要一个记录两个类关系的中间表,本文以学生-老师为例,在iBATIS的sqlmap中配置多对多关系. iB ...

  2. JavaScript------for-in的使用方法

    1.在数组中使用 var str = ["a", "b", "c"]; for (var item in str) { //alert(it ...

  3. php实现分页

    php函数 <?php////////////////////$result :容器的id//$url:请求的url//$total:总条数//$num:页容量//$pagenum:总页数//$ ...

  4. [iOS Animation]-CALayer 缓冲

    缓冲 生活和艺术一样,最美的永远是曲线. -- 爱德华布尔沃 - 利顿 在第九章“图层时间”中,我们讨论了动画时间和CAMediaTiming协议.现在我们来看一下另一个和时间相关的机制--所谓的缓冲 ...

  5. 单片机裸机下写一个自己的shell调试器

    该文章是针对于串口通讯过程中快速定义命令而写的,算是我自己的一个通用化的平台,专门用来进行串口调试用,莫要取笑 要处理串口数据首先是要对单片机的串口中断进行处理,我的方法是正确的命令必须要在命令的结尾 ...

  6. 《算法导论》插入排序----InsertSort

    算法导论,插入排序 public class InsertSort { public static double [] sort(double [] num) { for(int i =1; i< ...

  7. 关于Java在Linux or Android平台调用.so库

    Linux平台Java调用so库-JNI使用例子 android NDK开发及调用标准linux动态库.so文件 在Android项目中调用已有.so库 Android 调用.so文件 jni And ...

  8. Android如何调用第三方SO库(转)

    源:Android如何调用第三方SO库 问题描述:Android如何调用第三方SO库:已知条件:SO库为Android版本连接库(*.so文件),并提供了详细的接口说明:已了解解决方案:1.将SO文件 ...

  9. linux获得目录下文件个数

    获得当前目录下文件个数赋值给变量panonum: panonum=$(ls -l |grep "^-" | wc -l) 获取指定目录下文件个数赋值给指定变量: panonum=$ ...

  10. YUM更换源(1)--yum找不到安装包

    公司提供的CentOS VM中,/etc/yum.repos.d 下 只有一个build.repo,其中提供的yum 源只有公司内部的几个源,很多包在这些源中都找不到.于是要添加别的源,下面的帖子中介 ...