您的位置:首页 > 其它

记录1——loadrunner 浏览一个目录以及它的所有子目录直至浏览完到没有子目录为止(空目录或者文件)

2014-09-17 10:49 393 查看
需求:浏览一个目录以及它所有子目录直至所有目录浏览完到文件位置

//主函数
list_dir()
{
//从顶层目录开始逐个浏览
int i;
for(i=1; i <= lr_paramarr_len("entry_doc_ids"); i++){
listDir((lr_paramarr_idx("entry_doc_ids",i)));
}
return 0;
}

//功能函数1
//释放数组里的变量
int lrlib_paramarr_delete(char* paramarr_name) {
int i;
int num_elements;
char* element_name = (char*)malloc(strlen(paramarr_name) + strlen("_count") + sizeof(NULL));

// TODO: Check that the parameter array exists

num_elements = lr_paramarr_len(paramarr_name);
for(i=1; i<=num_elements; i++) {
sprintf(element_name, "%s_%d", paramarr_name, i);
lr_free_parameter(element_name);
}
sprintf(element_name, "%s_count", paramarr_name);
lr_free_parameter(element_name);

free(element_name);
return i; // total number of elements in the parameter array.
}
//功能函数2
//递归浏览目录
listDir(const char* dir_gns)
{

//lr_start_transaction("list_dir");

int length;
int j;
char* subGnssParamName = (char*)malloc(2048);
char* subSizesParamName = (char*)malloc(2048);

strcpy(subGnssParamName, dir_gns + (strlen (dir_gns) - 32));
lr_message(subGnssParamName);
strcat(subGnssParamName, "_sub_gnss");
strcpy(subSizesParamName, dir_gns + (strlen (dir_gns) - 32));
strcat(subSizesParamName, "_sub_sizes");
lr_save_string (dir_gns, "tmp_gns");

web_reg_save_param (subSizesParamName, "LB=\"size\":", "RB=}", "Ord=ALL", "Search=Body", LAST);
web_reg_save_param (subGnssParamName, "LB=\"docid\":\"", "RB=\",", "Ord=ALL", "Search=Body", LAST);

web_custom_request ("list_dir_transaction",
"URL=http://{ip}:{efsp_port}/v1/dir?tokenid={token_id}&method=list&userid={user_id}",
"Method=POST",
"Mode=HTTP",
"Body={\"docid\":\"{tmp_gns}\"}",
LAST);

for (j =1; j <= lr_paramarr_len(subSizesParamName); j++ ){

if (strcmp(lr_paramarr_idx(subSizesParamName,j), "-1") == 0) {
listDir(lr_paramarr_idx(subGnssParamName,j));
//是目录
}
else {
//是文件
lr_message("是文件!!");
}
}

lrlib_paramarr_delete (subGnssParamName);
lrlib_paramarr_delete (subSizesParamName);

free(subGnssParamName);
free(subSizesParamName);
//lr_start_transaction("list_dir");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐