当前位置: 代码迷 >> 综合 >> loadrunner11.0+cJson处理json的办法
  详细解决方案

loadrunner11.0+cJson处理json的办法

热度:93   发布时间:2024-03-06 14:22:00.0

loadrunner11.0+cJson处理json的办法

1、在使用loadrunner做性能测试中,压测的某些接口返回的数据是一个复杂的json格式的字符串,而后续的接口中又需要把这个字符串修改后作为入参,自己处理起来比较麻烦。于是想到了把cjson编译成动态链接库在loadrunner的脚本中调用

2、cjson是一个开源的json库,它的优势在于完全用c实现,因此适用性相当广,用在loadrunner中也是毫无压力。它的git主页是https://github.com/DaveGamble/cJSON。

3、使用CodeBlocks创建工程,选择DLL工程,创建好工程后,将下载好的cJson源码包中的cJSON.c和cJSON.h添加到工程里。
设置编译选项为release、32bit,编译。

4、将编译出来的cjson.dll放到loadrunner脚本的根目录下,然后在菜单File-Add file to script,添加头文件cJSON.h。

5、在globals.h中添加代码 #include “cJSON.h”

6、在代码中加载cjson.dll,然后就可以使用cjson的函数了。
在Action()中添加如下代码试试:
lr_load_dll(“cjson.dll”);
lr_output_message((char *) cJSON_Version());

注意这里cjson_Version返回的是指针,但loadrunner认为是int,所以要显式转成指针,不然编译不通过。

7、如果出现第86行 #include <stddef.h> 在loadrunner中找不到,暂先注释掉

8、关于cJSON的用法不做介绍,可参考cJSON.h

  相关解决方案