学以致用の性能测试软件测试之路每天写500字

【LoadRunner 调试问题 8】如何对参数化文件里的中文值

2016-12-16  本文已影响553人  秋之川
LoadRunner 11

问题:如果参数化文件的值包含中文,拼到接口请求里发送到服务端,解析会失败。

原因:服务端请求需要做 URLEncode,不能直接拼接中文字符串;

解决方案:LoadRunner 的自带函数 web_convert_param 可以做这种转换;

示例:

lr_convert_string_encoding(lr_eval_string("{city}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString"); //此时city是一个中文城市列表的参数,把它转换为utf-8,存入UnicodeString参数中

lr_save_string (lr_eval_string("{UnicodeString}"),"test" ); //把UnicodeString参数的值又覆盖回test参数,前2步相当于完成了city参数的汉字到utf-8的转换

web_convert_param("test", "SourceEncoding=PLAIN", "TargetEncoding=URL", LAST ); //这一步把city的参数值从utf-8又转换到url编码

你在接口的URL请求里,可以引用这个{test},如下:

city={test} ;

执行之后,在Log里可以看到如下信息:

city=%E5%90%88%E8%82%A5

这样,发送到服务端,就可以被正常解析了。

上一篇下一篇

猜你喜欢

热点阅读