51Testing软件测试论坛

标题: 这个脚本中的Body中中文乱码如何参数化(lr_convert_string_encoding无效) [打印本页]

作者: kavensyw    时间: 2013-12-22 11:12
标题: 这个脚本中的Body中中文乱码如何参数化(lr_convert_string_encoding无效)
本帖最后由 kavensyw 于 2013-12-26 21:07 编辑

代码如下:
[attach]88580[/attach]

其中需要参数化的中文原名为:test  CS(tt)车型拓展Crossline


实际期望值是:test%20%20CS(tt)%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95Crossline
使用lr_convert_string_encoding转换,返回值是:test  CS(tt)杞﹀瀷鎷撳睍Crossline
使用web_convert_param转换,返回值是:test++CS%tt%29%B3%B5%D0%CD%CD%D8%D5%B9Crossline


因为参数化时,需要很多条中文记录,不太可能把每个的值通过录制获取过来。因此请教,如何参数化为真实的中文值,请经过转化为期望的脚本实际值?。
作者: kavensyw    时间: 2013-12-22 11:41
直接回放是能成功的,是不是因为做了某种加密?
作者: 398073412    时间: 2013-12-23 10:37
这个是url编码,不是那么解得
你那个解码后应该是:VW313  CS(Lavida Derivat)车型拓展Crossline
需要参数化的应该是“车型拓展”这部分吧
将 VW313%20%20CS(Lavida%20Derivat)%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95Crossline
中%E8%BD%A6%E5%9E%8B%E6%8B%93%E5%B1%95 部分直接参数化
写成 VW313%20%20CS(Lavida%20Derivat){parameter}Crossline (参数值用中文即可,不用转码)
作者: kavensyw    时间: 2013-12-23 14:59
本帖最后由 kavensyw 于 2013-12-23 15:04 编辑

没有成功。如果不转码,按你说的,直接用“VW313%20%20CS(Lavida%20Derivat)车型拓展Crossline”代替,直接回放是不能成功的。

另外,我需要参数化的是整体的,VW...Crossline,是一个整体,代表“项目名称”
作者: kavensyw    时间: 2013-12-26 16:25
本帖最后由 kavensyw 于 2013-12-26 16:39 编辑

已解决:

步骤1:将web_custom_request函数,用web_submit_data代替;
步骤2:将需要参数化的中文字符串,用转码
lr_convert_string_encoding("VW313  CS(Lavida Derivat)车型拓展Crossline",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"qpnName");
作者: 我是真不会    时间: 2013-12-28 10:34
学习了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2