LoadRunner中文乱码问题解决方法
2015-05-07 15:57
225 查看
前段时间在录制,增强,整合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的存在导致了脚本回放失败。
实践二:
通过strcpy和lr_save_string的处理屏蔽\x00的影响,测试结果正常
一、录制回放中文乱码
我录制登陆的脚本,用户名中出现中文,回放的时候总是提示登陆失败。如下图:
图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); |
相关文章推荐
- LoadRunner中文乱码问题解决方法
- LoadRunner中文乱码问题解决方法
- Loadrunner中文乱码问题解决方法总结(loadruner11中文版)
- LoadRunner中文乱码问题解决方法
- Get、Post请求中文乱码问题有效解决方法
- PHP基于curl post实现发送url及相关中文乱码问题解决方法
- spring boot使用i18n时properties文件中文乱码问题的解决方法
- jenkins控制台输出中文乱码问题解决方法
- Mac和Win下CSV中文乱码问题解决方法
- java web中的中文乱码问题和解决方法
- JSP中文乱码问题已经解决方法
- PHP 页面编码声明方法详解(header或meta,解决中文乱码问题)
- 记解决jQuery $.getJSON() 传递参数中文乱码问题的方法
- mysql--出现中文乱码或不能输入中文问题的Windows或Linux系统解决方法
- 中文乱码问题及其解决方法(java中)
- Git GUI中文乱码问题解决方法
- JSON遇到中文乱码问题的解决方法
- 解决javaWEB中前台传数据到后台中文乱码问题的3种方法
- 解决SpringMvc后台接收json数据中文乱码问题的几种方法
- 解决javaWEB中前台传数据到后台中文乱码问题的3种方法