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