LoadRunner中自定义C函数实现字符串替换
来源:互联网 发布:meshlab shader 编程 编辑:程序博客网 时间:2024/06/18 13:59
1.在globals.h 中定义一个函数ReplaceStr,实现字符串的替换:int ReplaceStr(char* sSrc, char* sMatchStr, char* sReplaceStr){ int StringLen; char caNewString[1024]; char* findPos; merc_timer_handle_t timer_ReplaceStr = lr_start_timer(); lr_debug_message(LR_MSG_CLASS_EXTENDED_LOG ,"Notify:Function 'ReplaceStr' started."); findPos =(char *)strstr(sSrc, sMatchStr); if( (!findPos) || (!sMatchStr) ){ lr_debug_message(LR_MSG_CLASS_EXTENDED_LOG ,"Notify:Function 'ReplaceStr' ended with error!"); return -1; } while( findPos) { memset(caNewString, 0, sizeof(caNewString)); StringLen = findPos - sSrc; strncpy(caNewString, sSrc, StringLen); strcat(caNewString, sReplaceStr); strcat(caNewString, findPos + strlen(sMatchStr)); strcpy(sSrc, caNewString); findPos =(char *)strstr(sSrc, sMatchStr); } lr_debug_message(LR_MSG_CLASS_EXTENDED_LOG,"Result:%s",sSrc); free(findPos); lr_debug_message(LR_MSG_CLASS_EXTENDED_LOG ,"Notify:Function 'ReplaceStr' ended (Duration: %lf)", lr_end_timer(timer_ReplaceStr)); return 0;} 2.在init/Action/end 中调用:char strView[1024]; web_reg_save_param("viewState5", "LB=\"javax.faces.ViewState\" value=\"", "RB=\"", LAST);sprintf(strView,lr_eval_string("{viewState5}")); ReplaceStr(strView,"+","%2B"); ReplaceStr(strView,"/","%2F"); ReplaceStr(strView,"=","%2D"); lr_save_string(lr_eval_string(strView), "viewState6");memset(strView,0,sizeof(strView));
3. 当然也可以打开一个文件,读取其内容,替换相对应的部分.
Action(){ //read file char Data[1024]; //此变量需设置为全局变量,否则会出现定义超长的问题 char buffer[1024]; //此变量需设置为全局变量,否则会出现定义超长的问题 int count = 0; long file_stream; char * filename = "C:\\PTTool\\LRscript\\PCL-message\\Demographic\\1.txt"; if ((file_stream = fopen(filename, "rb+")) == NULL ) //读写方式打开文件 { lr_error_message ("Cannot open %s", filename); return -1; } // 一直读到文件结束 while (!feof(file_stream)) { fread(buffer, sizeof(char), 1024, file_stream); //此BUFFER大小可以自行设置,建议设置到接口允许的最大值,经测试,设置过小,而文件较大的时候,读取会出现读不完的问题,原因未知 if (ferror(file_stream)) { lr_output_message ("Error reading file %s", filename); break;
} strcat(Data,buffer); }
count = strlen(Data); lr_output_message ("Total number of bytes read = %d", count); lr_output_message ("Data is = %s", Data); // Close the file stream if (fclose(file_stream)) { lr_error_message ("Error closing file %s", filename); } cardNumber=lr_eval_string("{CardNum}");
lr_save_timestamp("paraTime",LAST); lr_output_message(lr_eval_string("{paraTime}")); timestp=lr_eval_string("{paraTime}");
// call func ReplaceStr(Data, "timeStamp",timestp);
ReplaceStr(Data, "cardNumber",cardNumber);
lr_output_message ("Data changed to %s", Data); //end func return 0;}
- LoadRunner中自定义C函数实现字符串替换
- loadrunner 实现字符串替换
- C语言实现字符串替换函数
- C语言实现字符串替换函数
- C语言字符串替换函数,字符串插入函数的实现
- C字符串替换函数
- 在LoadRunner中查找和替换字符串
- 在LoadRunner中查找和替换字符串
- loadrunner获取毫秒及字符串替换实现(字符串replace)
- C语言 - 自定义实现字符串统计函数
- 自己实现的C 语言的字符串替换函数
- 自己实现的C 语言的字符串替换函数
- 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
- Linux C字符串替换函数
- C语言字符串替换函数
- 实现函数替换字符串中空格为%20.
- C语言实现字符串替换
- C语言实现字符串替换
- 求 以孩子-兄弟链表表示的树 的度、深度、叶结点和边
- bzoj1854 [ SCOI2010 ] --并查集
- Java面向对象,单例设计模式
- bzoj4518 [ SDOI2016 ] --斜率优化DP
- bzoj2820--莫比乌斯反演
- LoadRunner中自定义C函数实现字符串替换
- 支付业务-简单介绍-不定期更新
- bzoj2693--莫比乌斯反演+积性函数线性筛
- bzoj3388 [ Usaco2004 Dec ]
- bzoj3037--贪心
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
- bzoj3932 [ CQOI2015 ] --可持久化线段树
- bzoj1723 [ Usaco2009 Feb ] --前缀和(水题)
- java 连 sqlserver 2000 2008、2008R2