loadrunner获取毫秒及字符串替换实现

  今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复。所以就想用时间+随机数来实现,但是实现中遇到一个问题。
  名字中不可以包含.这个特殊的字符的。所以要处理一下.字符串,于是就想一个C语言实现的字符串替换函数。loadrunner默认没有字符串替换函数,不知道为什么不做呢?   (1)毫秒实现方法      通过创建date/time参数,设置格式为:%Y%m%d%H%M%S.000   (2)替换字符串函数 char *strreplace(char *dest, char *src, const char *oldstr, const char *newstr, size_t len) { /* @param char* dest 目标串,也就是替换后的新串 * @param const char* src 源字符串,被替换的字符串 * @param const char* oldstr 旧的子串,将被替换的子串 * @param const char* newstr 新的子串 * @param int len 将要被替换的前len个字符*/ //子串位置指针 char *needle; //临时内存区 char *tmp; //如果串相等,则直接返回 if(strcmp(oldstr, newstr)==0){ return src; } //把源串地址赋给指针dest,即让dest和src都指向src的内存区域 dest = src; //如果找到子串, 并且子串位置在前len个子串范围内, 则进行替换, 否则直接返回 while((needle = (char *) strstr(dest, oldstr)) && (needle -dest <= len)){ //分配新的空间: +1 是为了添加串尾的'\0'结束符 tmp=(char*)malloc(strlen(dest)+(strlen(newstr)-strlen(oldstr))+1); //把src内的前needle-dest个内存空间的数据,拷贝到arr strncpy(tmp, dest, needle-dest); //标识串结束 tmp[needle-dest]='\0'; //连接arr和newstr, 即把newstr附在arr尾部, 从而组成新串(或说字符数组)arr strcat(tmp, newstr); //把src中 从oldstr子串位置后的部分和arr连接在一起,组成新串arr strcat(tmp, needle+strlen(oldstr)); //把用malloc分配的内存,复制给指针retv dest = (char *)strdup(tmp); //释放malloc分配的内存空间 free(tmp); } (3)验证函数可用性 Action() {   char *str=lr_eval_string("{Hm}"); char *old="\."; char *new=""; char *dest; lr_error_message("%s\n",strreplace(dest, str, old, new,20)); return 0; }    输出的格式为:Action.c(58): Error: 20130827153554665  经过上面的实现后,基本可以实现登录用户名不重复的现象了。OK!!!

loadrunner获取毫秒及字符串替换实现的更多相关文章

  1. 转:LoadRunner获取毫秒及字符串替换实现

    今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理 ...

  2. 使用 内置函数strtok()函数实现 loadrunner 字符串替换

    Action(){ /* loadrunner 字符串替换 */ char separators[] = "/"; char * token; char * file_path; ...

  3. PHP_EOL 写入字符串换行 , php获取毫秒 microtime

    private function miclog($t1,$t2,$name){ $lasttime = ($t2 - $t1).'ms'; $content = date('Y-m-d H:i:s', ...

  4. .Net字符串替换

    在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名 ...

  5. PHP获取毫秒时间戳,利用microtime()函数

    PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数.php的毫秒是没有默认 ...

  6. PHP获取毫秒时间戳

    我们知道,PHP中time()函数获取的时间戳,其单位是秒. 但是,前端JS获取的时间戳,单位是毫秒. 那么,在实际应用中,如何将JS和PHP的时间戳统一,即如何使用PHP获取毫秒时间戳呢,请看下例: ...

  7. js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。

    1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...

  8. 基于C#简单实现多个word文件和Excel文件的全局字符串替换

    公司整理文档工作中,出现了一个需要使用全局字符替换多个word文档.excel文档中的内容的需求.虽然office.WPS都有全局替换的功能(ctrl+h),但是文件过多,且需要替换多次,工作量还是比 ...

  9. EL 表达式截取字符串/替换字符/……

    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 下面是 ...

随机推荐

  1. P1967 货车运输 树链剖分

    题目描述 AA国有nn座城市,编号从 11到nn,城市之间有 mm 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 qq 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最 ...

  2. Nginx报错 nginx: [error] open() "/usr/local/nginx-1.6.3/logs/nginx.pid" failed (2: No such file or directory)

    问题: 解决: http://www.jianshu.com/p/918eb337a206 dd

  3. Uiautomator 快速调试

    UiAutomatorHelper使用      1.介绍:     他是一种可以快速调试的方法:其本身也是java问津相当于自动化脚本,查看该文件,其主要实现的功能如下         1.创建bu ...

  4. Qt ------ 再论事件循环

    在介绍在以前,我们要认识两个术语: 可重入的(Reentrant):如果多个线程可以在同一时刻调用一个类的所有函数,并且保证每一次函数调用都引用一个唯一的数据,就称这个类是可重入的(Reentrant ...

  5. cmd窗口关闭 -----window小技巧!

    前沿 平时开发的时候经常用到windows  的命令行工具来启动程序  或是 查看本地数据库的信息 : 经常的手动关闭 ,对于我这种,能用键盘完成的就坚决不用鼠标的人是多么痛苦. 所以在此罗列了一些命 ...

  6. 2017 国庆湖南Day2

    期望得分:100+30+100=230 实际得分:100+30+70=200 T3 数组开小了 ..... 记录 1的前缀和,0的后缀和 枚举第一个1的出现位置 #include<cstdio& ...

  7. NOIP模拟4

    期望得分:20+100+100=220 实际得分:20+100+100=220 特判相离.内含 对于两圆相交的情况,一直在考虑求交点 实际上相交的面积可以用两个扇形减去两个三角形 正弦定理.余弦定理来 ...

  8. autofac 在.net core 与经典asp.net中的差异

    前提: Install-Package Microsoft.Extensions.DependencyInjection 特點: 使用nstancePerLifetimeScope代替Instance ...

  9. Hadoop 面试总结

    1.简要描述如何安装配置一个开源的hadoop,只描述即可,列出完整步骤. a.创建一个用户和用户组,用来管理hadoop项目 b.修改确定ip地址:vim /etc/sysconfig/networ ...

  10. 【BZOJ4870】组合数问题(计数DP,快速幂)

    题意: 1 ≤ n ≤ 10^9, 0 ≤ r < k ≤ 50, 2 ≤ p ≤ 2^30 − 1 思路:From http://blog.csdn.net/qq_33229466/artic ...