Loadrunner 发生的json请求中,包含有中文。回放脚本,实际发送出去的body 不是中文,而是乱码,这就导致请求不正确,影响测试的实际结果。

要解决这个问题,先要把中文使用函数lr_convert_string_encoding转换一下,再在请求中引用该转换后的参数,回放的请求数据正常。示例如下:

lr_convert_string_encoding(lr_eval_string("请求中的中文"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"cnstring");
lr_save_string(lr_eval_string("{cnstring}"),"cnstring");

web_custom_request("MyRequest",
    "URL=https://example.com/api",
    "Method=POST",
    "Body={cnstring}", // 将转换后的中文字符串放入请求的Body中
    LAST);