LoadRunner中文乱码问题解决方法

简介:
前段时间在录制,增强,整合LoadRunner脚本,期间两次遇到了中文乱码问题。在此记录一下中文乱码问题的解决办法。
  一、录制回放中文乱码
  我录制登陆的脚本,用户名中出现中文,回放的时候总是提示登陆失败。如下图:
  
图1 LR回放中文乱码
  解决中文乱码可以在录制的时候在Virtual User Gen的 Tools->Recoding Options -> Advanced -> Support charset -> UTF-8。重新录制后中文乱码问题得到解决。
  二、整合脚本中文乱码
  录制增强(参数化,关联,检查点,事务)脚本后决定将几个脚本整合在一起。于是新建了一个空的脚本,将登陆退出公用操作分别放在vuser_init和vuser_end中,其他操作放在各自的Action中。整理完成回放后又出现中文乱码。为解决这个问题,最关键的是要把本地GBK编码的汉字转换成UTF-8编码格式的信息,为此我们引进loadrunner自带的编码函数lr_convert_string_encoding。
  int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
  该函数有4个参数,含义如下:
  sourceString:被转换的源字符串。
  fromEncoding:转换前的字符编码。
  toEncoding:要转换成为的字符编码。
  paramName:转换后的目标字符串。
  实践一
  lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "Account");
  web_submit_data("login.quick",
  ……
  "Name=account", "Value={Account}", ENDITEM,
  ……
  LAST);
  回放脚本的时候依然报错。查看lr_convert_string_encoding的解释,它会在其转换的字符串末尾加上\x00。在C语言中\X00是一个字符串的结束,而正是这个\x00的存在导致了脚本回放失败。
  实践二
char tmp[100];
lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "Account");
strcpy(tmp,lr_eval_string("{Account}"));
lr_save_string(tmp,"Account");
web_submit_data("login.quick",
……
"Name=account", "Value={Account}", ENDITEM,
……
LAST);
  通过strcpy和lr_save_string的处理屏蔽\x00的影响,测试结果正常


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
9月前
clion 一劳永逸 解决中文乱码
clion 一劳永逸 解决中文乱码
152 0
|
Linux
finalshell编码问题
finalshell编码问题
103 0
|
Java 应用服务中间件
IDEA中中文乱码问题解决方案
打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,如下图(红框的地方),然后重新rebuild一下,基本就行了
356 0
|
安全 Python
Selenium启动IE11常见问题解决方法
Selenium启动IE11常见问题解决方法
342 0
Selenium启动IE11常见问题解决方法
|
Python Windows
在 windows系统中安装 Scrapy详细过程
在 windows系统中安装 Scrapy详细过程
377 0
在 windows系统中安装 Scrapy详细过程
|
应用服务中间件 Windows
tomcat出现中文乱码原因和解决办法(简单快捷易懂)
双击打开tomcat中的bin目录下的startup.bat会出现乱码问题 或者cmd里面打开也是乱码的问题
1173 0
tomcat出现中文乱码原因和解决办法(简单快捷易懂)
垮域问题解决方法
2.什么是跨域问题 通过一个地址去访问另外一个地址,这个过程中如果有三个地方,任何一个不一样就会出现跨域问题 (1)访问协议: http、 https (2)ip地址: (3)端口号:9528、8001
106 0
垮域问题解决方法
|
测试技术
软件测试面试题:LoadRunner脚本中出现乱码如何解决?
软件测试面试题:LoadRunner脚本中出现乱码如何解决?
156 0