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 }
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有