现在的位置: 首页 > 软件测试 > 测试工具 > 正文

LoadRunner字符串gzip压缩与解压方法

2015年12月01日 测试工具 ⁄ 共 1456字 ⁄ 字号 暂无评论 ⁄ 阅读 189 次

本文主要介绍Loadrunner中使用zlib.dll对字符串进行gzip压缩解压的方法。

方法如下:

1. 下载zlib.dll>>>百度网盘下载地址

2. 在LoadRunner中新建一个脚本

3. 在vuser_init中输入lr_load_dll("zlib.dll");加载dll (需要将zlib.dll拷贝至脚本根目录或C:\Windows\System32目录下)

4. 在Action()中使用compress和uncompress函数,对字符进行压缩解压缩。

 

使用函数介绍:

压缩函数 compress()

int compress(unsigned char * dest, unsigned long * destLen, unsigned char * source, unsigned long sourceLen);

参数:

dest:压缩后数据保存的目标缓冲区

destLen:目标缓冲区的大小(必须在调用前设置,并且它是一个指针)

source:要压缩的数据

sourceLen:要压缩的数据长度

返回:

成功返回Z_OK,如果内存不够,返回Z_MEM_ERROR,如果目标缓冲区太小,返回Z_BUF_ERROR

 

解压缩函数 uncompress()

int uncompress(unsigned char * dest, unsigned long * destLen, unsigned char * source, unsigned long sourceLen);

参数:

dest:解压后数据保存的目标缓冲区

destLen:目标缓冲区的大小(必须在调用前设置,并且它是一个指针)

source:要解压的数据

sourceLen:要解压的数据长度

返回:

成功返回Z_OK,如果内存不够,返回Z_MEM_ERROR,如果目标缓冲区太小,返回Z_BUF_ERROR,如果要解压的数据损坏或不完整,返回Z_DATA_ERROR。

脚本如下:

vuser_init()
{
    lr_load_dll("zlib.dll");
    return 0;
}

Action()
{

  /* 原始数据 */
  unsigned char strSrc[] = "大爱"
                           "http:lovesoo.org"
                          "1234567890"
                          "abcdefghijklmn";

  //压缩后的字符
  unsigned char buf[1024] = {0};
  //目标数据
  unsigned char strDst[1024] = {0};

  //数据的长度
  unsigned long srcLen = sizeof(strSrc);
  unsigned long bufLen = sizeof(buf);
  unsigned long dstLen = sizeof(strDst);

  //压缩前log信息
  lr_log_message("原来的字符串:%s\n", strSrc);
  lr_log_message("压缩前的长度:%ld\n", srcLen);

  /* 压缩 */
  compress(buf, &bufLen, strSrc, srcLen);

  //压缩后log信息
  lr_log_message("压缩后的字符:%s\n", buf);
  lr_log_message("压缩后长度:%ld\n", bufLen);

  /* 解压缩 */
  uncompress(strDst, &dstLen, buf, bufLen);
  //压缩后的log信息
  lr_log_message("原来的字符串:%ld\n",dstLen);
  lr_log_message("原来的字符串长度:%s\n",strDst);

	return 0;
}