loadrunner常用函数集锦

一、三个复制函数的区别:

strcpy

原型:extern char *strcpy(char *dest,char *src);
用法:#i nclude
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#i nclude
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针
二、三个赋值函数的区别

一、lr_save_string函数

1.该函数主要是将程序中的常量或变量保存为参数;

  1. //将常量保存为参数 
  2. lr_save_string("777","page") 
  3. web_url(http://www.sina.com.cn/{page});
  4. lr_eval_string("{page}");
  5. //将变量保存为参数,tmp为变量
  6. lr_save_string(tmp,"page");
  7.  web_url(http://www.sina.com.cn/{page})

2、

int sprintf( char *str,const char * format,.........);
函数说明     sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。

常用该函数代替itoa,将整数格式化为字符串形式。

3、lr_eval_string函数

用于返回instring参数中的实际字符串值,可以使用该函数来查看参数化取值是否正确;

三、两个比较函数

1、strstr

strstr(str1,str2)
str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.
返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。
2、strcmp

C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。

该函数返回值如下:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

四、连接函数

1、

C 库函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。

  • dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
  • src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

该函数返回一个指向最终的目标字符串 dest 的指针。

五、分割函数

1、char * strtok(char *s, const char *delim);
函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

  1. #include <string.h>
  2. main(){
  3. char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
  4. char *delim = "-: ";
  5. char *p;
  6. printf("%s ", strtok(s, delim));
  7. while((p = strtok(NULL, delim)))
  8. printf("%s ", p);
  9. printf("\n");
  10. }

2、split

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

六、关联函数

1、

lrs_save_searched_string("socket0", NULL, "evalid", "LB=SimpleEngineTest/", "RB=\"", 1,0,-1);
  这个函数的用法基本与web_reg_save_param()类似,一样是通过左右边界来进行数据查找,函数的8个参数依次代表:“socket线程名”、“buf名称”(这里传NULL表示从上面一个buf取值)、“参数名称”(需要将数据保存的参数名称)、“左边界”、“右边界”、“第几次出现”、“位移的数量”、“参数的长度”。线程名和buf名一定不可以传错,最后三个数据只要传(1 , 0,-1)就可以了。
2、

其中lrs_save_param("socket2",NULL, "BufData", 28, 4);是用于把从“socket2”接收的部分数据保存到参数BufData中。第一个参数"socket2"表示读取哪个Socket的数据;NULL表示从接收到的数据中进行读取;“BufData”是保存后的参数名称;28表示的数据包的偏移量,即从第28个字节后开始读取;4表示的是读取内容的长度lrs_save_param("socket2", “buf1”, "BufData", 28, 4);则是用来把静态缓存"buf1"中的数据保存到参数BufData中,即从data.ws中保存的buf1中读取数据。

lrs_save_param的两种用法区别于第二个参数是否制定buffer名称,当第二参数指定具体的buffer名称后将会到data.ws中查找对应的buffer来进行保存;当第二个参数指定NULL后将从接收到的缓存区中读取数据
---------------------
原文:https://blog.csdn.net/wcq2013/article/details/28690519

3、

int lrs_save_param_ex ( char *s_desc, char *type, char *buff, int offset, int length, char *encoding, char *param );

s_desc表示指定的Socket名称;

type表示要存储的数据类型,有“user”、“static”、“received”三种,分别代表用户数据(脚本中自己定义的字符串)、静态数据(data.ws中录制的数据)、最后接收的缓冲区数据;

buff表示要保存哪个缓冲区的数据。这个参数与type有对应关系,如果type是“user”、“static”两种,则需要指定具体的buffer名称;如果是“received”则可以忽略这个参数;

offset表示在buffer中的偏移量;length表示要从buffer中保存的字节数;

encoding表示的是解码方式。对于“user”类型的buffer,需要指定其为ascii或者ebcdic中的一种,NULL值表示默认的格式为ascii。对于“static”与“received”两种类型的buffer,则可以忽略这个参数,使用客户端的原始编码格式来进行解码;

param表示要保存的参数名称。
---------------------
原文:https://blog.csdn.net/gzh0222/article/details/6920693

七、

上一篇:spring session 和 spring security整合


下一篇:python学习笔记八:文件与目录