Action()
{
int rc;
int db_connection; // 数据库连接
int query_result; // 查询结果集 MYSQL_RES
char** result_row; // 查询的数据衕
char *server = "192.168.1.201";
char *user = "fds";
char *password = "dfslocal";
char *database = "EWS";
int port = 3306;
int unix_socket = NULL;
int flags = 0;
int columns;//行中值的数量,也就是返回列
int num_rows;
long lengths;
char buff[20];
// 找到libmysql.dll的所在位置.
rc = lr_load_dll("E:\\loadrunner-lsh\\lib\\libmysql.dll");
if (rc != 0) {
lr_error_message("Could not load libmysql.dll");
lr_abort();
}
// 创建MySQL对象
db_connection = mysql_init(NULL);
if (db_connection == NULL) {
lr_error_message("Insufficient memory");
lr_abort();
}
// 连接到MySQL数据库
rc = mysql_real_connect(db_connection, server, user, password, database, port, unix_socket, flags);
if (rc == NULL) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
//从数据库读取一个数据并显示
rc=mysql_query(db_connection,lr_eval_string("select PageId as page,case when PropertyCode\='' then productcode else PropertyCode end as code ,quantity as num from OrderBatchProductPage where OrderBatchId\=260 order by page"));
if (rc != 0) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
query_result=mysql_use_result(db_connection);
if(query_result==NULL){
lr_error_message("%s",mysql_error(db_connection));
mysql_free_result(query_result);
mysql_close(db_connection);
lr_abort();
}
//如果结果集包含多行数据,需要多次调用 mysql_fetch_row 直到返回NULL,这里测试只读一行
result_row=(char **)mysql_fetch_row(query_result);
columns = mysql_num_fields(query_result);
lr_output_message("返回一共 %d个结果。",columns);
// itoa(num_fields,buff,10);//int 类型转换成字符类型
//
// lr_save_string(buff,"columns");
// lr_output_message("num_fields is: %s", lr_eval_string("{columns}"));
if(result_row==NULL){
lr_error_message("Did not expect the result set to be empty");
mysql_free_result(query_result);
mysql_close(db_connection);
lr_abort();
}
// 保存参数,用于删除这行数据
lr_save_string(result_row[1], "paramOrderID");
lr_output_message("Order ID is: %s", lr_eval_string("{paramOrderID}"));
mysql_free_result(query_result);
return 0;
}
// char key[1024];
//
//
//
// strcpy(key, "key=QkZ0ZnJ3JTJmaFFNVlc1JTJiSUJzTlZnJTJiUVRkMXNTU2JOJTJmcjhlTDJ4cTFON2x6UWVEWUtYVVZuMGpZWSUyYnhNYW5qRzB2Q1UyTUZKelBOeVNCcXBXM2dvU3V3JTNkJTNk");
//
//
// web_url("Login",
// "URL=http://localhost:9002/api/OrderAllocateRecord/SaveOrderAllocateItem?batchCode=P20140909081359627&storageId=1&barCode=SKU040725&quantity=10&UserId=3&area=n1&row=n2&rack=n3&position=n4&key=QkZ0ZnJ3JTJmaFFNVlc1JTJiSUJzTlZnJTJiUVRkMXNTU2JOJTJmcjhlTDJ4cTFON2x6UWVEWUtYVVZuMGpZWSUyYnhNYW5qRzB2Q1UyTUZKelBOeVNCcXBXM2dvU3V3JTNkJTNk",
// "RecContentType=text/html",
// "Mode=HTML",
// LAST);
{
int rc;
int db_connection; // 数据库连接
int query_result; // 查询结果集 MYSQL_RES
char** result_row; // 查询的数据衕
char *server = "192.168.1.201";
char *user = "fds";
char *password = "dfslocal";
char *database = "EWS";
int port = 3306;
int unix_socket = NULL;
int flags = 0;
int columns;//行中值的数量,也就是返回列
int num_rows;
long lengths;
char buff[20];
// 找到libmysql.dll的所在位置.
rc = lr_load_dll("E:\\loadrunner-lsh\\lib\\libmysql.dll");
if (rc != 0) {
lr_error_message("Could not load libmysql.dll");
lr_abort();
}
// 创建MySQL对象
db_connection = mysql_init(NULL);
if (db_connection == NULL) {
lr_error_message("Insufficient memory");
lr_abort();
}
// 连接到MySQL数据库
rc = mysql_real_connect(db_connection, server, user, password, database, port, unix_socket, flags);
if (rc == NULL) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
//从数据库读取一个数据并显示
rc=mysql_query(db_connection,lr_eval_string("select PageId as page,case when PropertyCode\='' then productcode else PropertyCode end as code ,quantity as num from OrderBatchProductPage where OrderBatchId\=260 order by page"));
if (rc != 0) {
lr_error_message("%s", mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
query_result=mysql_use_result(db_connection);
if(query_result==NULL){
lr_error_message("%s",mysql_error(db_connection));
mysql_free_result(query_result);
mysql_close(db_connection);
lr_abort();
}
//如果结果集包含多行数据,需要多次调用 mysql_fetch_row 直到返回NULL,这里测试只读一行
result_row=(char **)mysql_fetch_row(query_result);
columns = mysql_num_fields(query_result);
lr_output_message("返回一共 %d个结果。",columns);
// itoa(num_fields,buff,10);//int 类型转换成字符类型
//
// lr_save_string(buff,"columns");
// lr_output_message("num_fields is: %s", lr_eval_string("{columns}"));
if(result_row==NULL){
lr_error_message("Did not expect the result set to be empty");
mysql_free_result(query_result);
mysql_close(db_connection);
lr_abort();
}
// 保存参数,用于删除这行数据
lr_save_string(result_row[1], "paramOrderID");
lr_output_message("Order ID is: %s", lr_eval_string("{paramOrderID}"));
mysql_free_result(query_result);
return 0;
}
// char key[1024];
//
//
//
// strcpy(key, "key=QkZ0ZnJ3JTJmaFFNVlc1JTJiSUJzTlZnJTJiUVRkMXNTU2JOJTJmcjhlTDJ4cTFON2x6UWVEWUtYVVZuMGpZWSUyYnhNYW5qRzB2Q1UyTUZKelBOeVNCcXBXM2dvU3V3JTNkJTNk");
//
//
// web_url("Login",
// "URL=http://localhost:9002/api/OrderAllocateRecord/SaveOrderAllocateItem?batchCode=P20140909081359627&storageId=1&barCode=SKU040725&quantity=10&UserId=3&area=n1&row=n2&rack=n3&position=n4&key=QkZ0ZnJ3JTJmaFFNVlc1JTJiSUJzTlZnJTJiUVRkMXNTU2JOJTJmcjhlTDJ4cTFON2x6UWVEWUtYVVZuMGpZWSUyYnhNYW5qRzB2Q1UyTUZKelBOeVNCcXBXM2dvU3V3JTNkJTNk",
// "RecContentType=text/html",
// "Mode=HTML",
// LAST);
本文介绍如何使用LoadRunner进行数据库操作测试,包括加载MySQL库、创建和连接数据库、执行查询及处理结果集等步骤。
2788

被折叠的 条评论
为什么被折叠?



