LR中文乱码参数化方法

上一篇 / 下一篇  2017-04-27 16:13:41 / 个人分类:loadrunner 中文乱码

方法1:
  利用Loadrunner提供的转换函数
  (lr_convert_string_encoding)进行处理,GBK转换UTF-8参考代码:
  lr_convert_string_encoding("中文",
  "GBK",
  "UTF-8",
  "outparam");
  由于转换过程中会多出一个 \0 的结束字符,也就是outparam转换后变成了”中文\0”,所以还需要特别进行处理:
  lr_save_string(lr_eval_string("{outparam}"),"newparam");
  将outparam重新save转存到另一个newparam的参数中,当然也可以保存在原来的outparam参数中进行覆盖,这样才能保证整个转换过程没有纰漏,一些系统对\0比较敏感的时候还可能出现未知的问题。
方法2:
  针对参数文件的转换
  LoadRunner对于参数化文件,都是统一使用系统默认编码(GBK)到操作,如果内容中含有中文,就需要每次获取时进行代码转换,这对于一些参数化策略多少会受到一些影响,使用下面的方法,就可以避免这类的问题:
   假设你的数据文件名称为data.dat,你可以在LoadRunner没有打开参数文件窗口的情况下,使用文本编辑器,打开data.dat,直接将数据文件另存为UTF-8的编码对原来的文件进行覆盖,再回去看下参数文件窗口,虽然显示上都成乱码,但实际使用时的效果惊人,可直接发送UTF-8编码 的中文数据,简单方便,唯一的缺点是只能在脚本外部进行编辑。
方法3:
 直接发送16进制编码数据,无视任何编码
   假设需要在web_custom_request的body中发送一串json,内容为{"test":123,"name":"名称"} ,json的格式中,中文只能是UTF-8,而如果不是UTF-8编码,情况好点只是乱码,情况差点,可能连带json解析器都会一起报错。
  那么上面的内容我们可以发送什么来代替呢?
  {"test":123,"name":"\xE5\x90\x8D\xE7\xA7\xB0"}
  至于中间如何转换的过程,可以参考编码码表,或者通过UTF-8编码获取中文的Hex值,再或者,你会发现实际上这和Urlencode的结果很像。

TAG: 中文

 

评分:0

我来说两句

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 73560
  • 日志数: 55
  • 建立时间: 2016-04-19
  • 更新时间: 2020-09-23

RSS订阅

Open Toolbar