LoadRunner获取毫秒及字符串替换实现
作者:网络转载 发布时间:[ 2015/5/26 15:15:00 ] 推荐标签:性能测试工具
做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复。所以想用时间+随机数来实现,但是实现中遇到一个问题。
名字中不可以包含.这个特殊的字符的。所以要处理一下.字符串,于是想一个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 是为了添加串尾的'