loadrunner获取毫秒及字符串替换实现
- 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获取毫秒及字符串替换实现的更多相关文章
- 转:LoadRunner获取毫秒及字符串替换实现
今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理 ...
- 使用 内置函数strtok()函数实现 loadrunner 字符串替换
Action(){ /* loadrunner 字符串替换 */ char separators[] = "/"; char * token; char * file_path; ...
- PHP_EOL 写入字符串换行 , php获取毫秒 microtime
private function miclog($t1,$t2,$name){ $lasttime = ($t2 - $t1).'ms'; $content = date('Y-m-d H:i:s', ...
- .Net字符串替换
在.Net中,有些地方需要进行字符的替换才能实现一些相关功能,这里是一个简单的字符串替换的方法 //如下,变量strWhere中是通过一些方法获取的sql拼接的条件语句,但在数据库中是多表查询,有同名 ...
- PHP获取毫秒时间戳,利用microtime()函数
PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数.php的毫秒是没有默认 ...
- PHP获取毫秒时间戳
我们知道,PHP中time()函数获取的时间戳,其单位是秒. 但是,前端JS获取的时间戳,单位是毫秒. 那么,在实际应用中,如何将JS和PHP的时间戳统一,即如何使用PHP获取毫秒时间戳呢,请看下例: ...
- js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。
1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...
- 基于C#简单实现多个word文件和Excel文件的全局字符串替换
公司整理文档工作中,出现了一个需要使用全局字符替换多个word文档.excel文档中的内容的需求.虽然office.WPS都有全局替换的功能(ctrl+h),但是文件过多,且需要替换多次,工作量还是比 ...
- EL 表达式截取字符串/替换字符/……
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 下面是 ...
随机推荐
- Jenkins+SVN+Maven发布项目
一.安装jenkins插件 登入Jenkis后,安装几个插件: Maven Integration plugin # 没有这个插件,不能创建maven项目 Subversion Plug-in Pub ...
- [Java多线程]-Thread和Runable源码解析
多线程:(百度百科借一波定义) 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提 ...
- '0','\0',NULL,EOF的区别
要看是不是一个东西,打印一下即可 printf("%d %d %d %d\n",'0','\0',NULL,EOF); 输出: 48 0 0 -1 结论: '\0'与NULL 都是 ...
- java类的静态属性值获取
获取某个类实例的静态属性: public class ErrorCode { private String code; private String message; private ErrorCod ...
- Spring Boot + Swagger
前言: 在互联网公司, 微服务的使用者一般分为两种, 客户端和其他后端项目(包括关联微服务),不管是那方对外提供文档 让别人理解接口 都是必不可少的.传统项目中一般使用wiki或者文档, 修改繁琐,调 ...
- Win7 32位安装Oracle11g R2 图解示例
Win7 32位操作系统安装Oracle11g R2 图解示例.废话不说了,直接上图. 1.下载的两个oracle 11gR2压缩包解压到单独的文件夹中. 2.找到解压的database文件夹中的Se ...
- 在使用hibernate注解的时候,想对double类型的字段进行精度约束
@Column(name = "price",precision = 10,scale = 2) public double getPrice() { return price; ...
- 51nod 1073 约瑟夫环
题目链接 先说一下什么是约瑟夫环,转自:传送门 关于约瑟夫环问题,无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大( ...
- 使sqoop能够启用压缩的一些配置
在使用sqoop 将数据库表中数据导入至hdfs时 配置启用压缩 hadoop 的命令 检查本地库支持哪些 bin/hadoop checknative 需要配置native 要编译版本 ...
- 对RSA的认识
#没有经过专业老师的指导,所以您在阅读本文时建议参考即可. 学习视屏:https://www.youtube.com/watch?v=TqX0AHHwRYQ https://www.youtub ...