loadrunner动态从mysql取值

loadrunner动态从mysql取值

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

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

 1 Action()
 2 {
 3
 4     int status;                           //定义状态变量,0表示成功,非0表示失败
 5     int db_connection;                  //定义初始化状态
 6     int result;                   //定义查询结果状态
 7     char *server = "*****";         // 数据库的ip地址
 8     char *user = "test";                // 用户名
 9     char *password = "123456";                // 密码
10     char *database = "*****";          // 数据库名称
11     int port = 3306;                    // 端口
12     int socket = NULL;
13     int flags = 0;
14     char** result_set;                 //定义查询的结果集
15
16   //数据库操作
17     status=lr_load_dll("E:\\VuGen Scripts\\libmysql.dll");
18
19     if (status!=0) {
20         lr_error_message("不能加载dll文件");
21         lr_error_message("%s",mysql_error(db_connection));//打印加载失败错误信息
22         mysql_close(db_connection);
23         lr_abort();
24     }
25
26     db_connection=mysql_init(NULL); //初始化mysql连接
27     if (db_connection==NULL ) {     //如果链接状态为空就退出
28         lr_abort();
29     }
30
31     status=mysql_real_connect(db_connection,server,user,password,database,port,socket,flags);//连接到mysql数据库
32
33 //打印连接不成功的原因
34     if (status==NULL) {
35         lr_error_message("%s",mysql_error(db_connection));
36         mysql_close(db_connection);
37         lr_abort();
38     }
39
40   //调用dll方法执行查询语句
41     status=mysql_query(db_connection,"select vcode from cb_vcode_list where telphone=180******** and is_deleted=0");
42
43   //打印查询失败的原因
44     if (status!=0) {
45         lr_error_message("%s",mysql_error(db_connection));
46         mysql_close(db_connection);
47         lr_abort();
48     }
49
50     result=mysql_use_result(db_connection);//查询数据表
51
52    while (result_set=(char**)mysql_fetch_row(result)) {
53
54        lr_save_string(result_set[0],"vcode");       //将获取的数据保存为参数vcode
55        lr_output_message("vcode is %s",lr_eval_string("{vcode}")); //打印数据
56
57         if ( result_set==NULL) {           //如果查询结果行为空 ,就关闭并退出
58            lr_error_message("没有查询到结果");
59             mysql_free_result(result);
60             mysql_close(db_connection);
61             lr_abort();
62         }
63     }
64
65    mysql_free_result(result);  //释放结果集
66    mysql_close(db_connection);      //关闭数据库连接
67
68     return 0;
69 }

转自:http://www.cnblogs.com/liu-ke/p/6363658.html

时间: 2024-08-29 04:34:27

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

4.mybatis动态SQL拼接/取值/OGNL

4.mybatis动态SQL拼接/取值 一.mybatis框架的SQL拼接是采用OGNL表达式进行的,以下我会列出常用的取值方法. 图片来源:慕课网 1.1常用的取值方法: 1.2特殊的取值方法: mod为取余数

loadrunner从数据库中取值进行参数化

LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑就不切实际了,这时用连接数据库的功能就方便了很多. 所需软件: mysql-connector-odbc-5.3.12-win32.msi 安装此软件时,如果提示: 需要先安装:vcredist_x86.exe. 以下以mysql数据库取值为例,进行操作步骤介绍及截图. 1.Parameter List对话框中点击Data Wizard按

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

在性能测试过程中,很多人都会想通过使用检查点来检查系统响应是否正常,LR的51Testing软件测试网E$S ]:x(d a6h.G \(y 检查点对“死”的,静态的 可以做到检查作业,但是对于动态时刻刷新的页面很多人都 8b.LMM f'V#S0 不知道怎么检查系统的响应是否正常,其实我们可以想想LR 另外的一个强大检查工具 %J7Z3o4Y1g[9n_y0 关联可以做到对那种动态页面里面有些特殊数值会时时刷新做系统性能响应检查,例如51Testing软件测试网;VnS5I9CeB 页面里面的

jquery操作radio(单选按钮):动态选中、取值

jquery确实要比js用起来方便多了,尤其是在操作网页里的表单项方面,这章站长和大家分享用Jquery操作单选按钮radio,实现动态选中某个单选按钮和读取选中的单选按钮的值的方法, 本文来自天使建站 www.angelweb.cn 先来看一个实例及代码: <script> $(":radio[name='angelasp'][value='angel']").attr("checked","true"); </script&

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

1.参数的赋值和取值 lr_save_string("hello world","param"); lr_eval_string("{param}"); 2.变量到参数 int x; char *y; y="hello"; x=10; lr_save_int(x,"param"); lr_save_string(y,"param1"); lr_eval_string("{par

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

接触前端也不久对jquery用的也只是皮毛,写过去感觉能复用的发出来,大家指点下 1.下拉列表动态赋值 function initddlYear() { var mydate = new Date(); var startYear = mydate.getFullYear() - 50; var endYear = mydate.getFullYear() + 50; for (var i = startYear; i < endYear; i++) { jQuery("#ddlYear&

Java反射:根据方法名动态调用方法,解决商品动态属性取值问题。

public class Goods{ private String goodsName; private String attr1; private String attr2; private String attr3; private String attr4; ......... private String attr20; setter/getter方法 } 在数据库表goods中,已知该商品的属性个数N(满足:N=5,attr1—attr5有值,attr6-attr20为空).问如何取

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

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下:1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 18446744073709551615.一位为 8 个字节. 2.int 一个正常大小整数.有符号

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

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下:1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 18446744073709551615.一位为 8 个字节. 2.int 一个正常大小整数.有符号