loadrunner 发送中文参数
作者:网络转载 发布时间:[ 2013/8/16 13:46:14 ] 推荐标签:
新的项目中,需要向应用发送一个中文的人名: payerName : 张三,调用失败。,观察错误日志,发现 传过去的payerName是乱码。
解决过程:
1. Virtual User Gen的Tools->Recoding Options -> Advanced -> Support charset -> UTF-8
重试之,无效。。。
2. 使用lr_convert_string_encoding函数进行强制转码。
lr_convert_string_encoding: 对中文进行UTF-8转码
int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
该函数有4个参数,含义如下:
sourceString:被转换的源字符串。
fromEncoding:转换前的字符编码。
toEncoding:要转换成为的字符编码。
paramName:转换后的目标字符串。
注意: 使用这个函数转码出来的字符串会以 x00 结尾,所以要做一次额外处理。
代码如下:
char tmp[50];
lr_convert_string_encoding("张三", LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");
strcpy(tmp,lr_eval_string("{str}"));
lr_save_string(tmp,"payerName");
然后再使用 如下方式进行调用:
web_custom_request("consume",
"URL=http://192.168.12.89:8010/quickpay/v10/003",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTTP",
"EncType=application/json",
"Body={"cardHolderName":"{payerName}","cardNo":"4392260802828457","cardTypeEnum":"CREDI"}",
LAST);
再次运行脚本,OK了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11